【问题标题】:cognitive search faceting storage requirement认知搜索刻面存储需求
【发布时间】:2020-11-07 03:43:06
【问题描述】:
认知搜索文档建议,为了减少索引大小,我们需要在我们不会分面的字段上设置facetable as false。我们正在开发一个通用应用程序,其中字段是动态创建的,并且所有这些都可以/应该是可分面的。
例如,我们在索引中有一个名为 genericField1 的通用字段,服务 A 可以在该字段中存储价格,而服务 B 可以存储一个 id。这种设计强制所有字段都是字符串(根据我们的架构这是可以的),并且所有字段都是可分面的。我正在尝试了解此类解决方案的大小影响,其中 id 等字段是可分面的。
【问题讨论】:
标签:
azure-cognitive-search
【解决方案1】:
Azure 认知搜索中的分面需要一个独立的数据结构,而不是支持搜索的倒排索引。此数据结构存储在磁盘上,并允许基于值进行聚合。它针对通过高效存储快速访问字段值进行了优化。
数据结构的大小随着分面字段的数量及其值的基数而增加。 ACS 建议您对服务设置进行初步测试,以获得存储利用率的具体数字,并选择适合您的用例的拓扑。
注意:另一个可能导致高存储利用率的特性是复杂集合。如果您计划同时使用分面集合和复杂集合,请确保衡量影响。