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