Field.IsSortable 如何用于 Azure 搜索?
How Field.IsSortable works for Azure Search?
在 Azure 搜索中,您需要指定 IsSortable 才能在 orderBy 表达式中使用该字段。默认情况下,它对所有字段都是禁用的。
我想知道是否有关于它如何工作的任何细节以及 Elastic Search 中是否有任何类似物?
此属性是否会导致创建一些额外的索引或任何 space 用法?
更新
Elastic Search 具有 doc_values 映射参数,使 sorting/aggregation 更高效。
默认情况下,大多数类型为 enabled(请参阅类型详细信息)
进阶:
- 效率更高sorting/aggregation
DisAdv:
- 更多space
- 直接访问效率较低(降低 10-20%,但这可能是过时的信息)
相当于 IsSortable
的 Elasticsearch 正在添加一个 keyword
类型的新字段,并为您的索引启用 doc_values
(假设 Elasticsearch 的更新版本)。启用排序会产生存储成本,但 Azure 认知搜索很聪明,可以将相同的存储重新用于类似的功能,因此如果您已经设置了 IsFilterable
或 IsFacetable
,那么您很有可能IsSortable
不会产生太多额外费用。我在这里含糊其辞,因为它取决于您索引的形状,并且实施细节可能会发生变化。用您自己的数据进行试验是无可替代的。
在 Azure 搜索中,您需要指定 IsSortable 才能在 orderBy 表达式中使用该字段。默认情况下,它对所有字段都是禁用的。
我想知道是否有关于它如何工作的任何细节以及 Elastic Search 中是否有任何类似物?
此属性是否会导致创建一些额外的索引或任何 space 用法?
更新 Elastic Search 具有 doc_values 映射参数,使 sorting/aggregation 更高效。
默认情况下,大多数类型为 enabled(请参阅类型详细信息)
进阶:
- 效率更高sorting/aggregation
DisAdv:
- 更多space
- 直接访问效率较低(降低 10-20%,但这可能是过时的信息)
相当于 IsSortable
的 Elasticsearch 正在添加一个 keyword
类型的新字段,并为您的索引启用 doc_values
(假设 Elasticsearch 的更新版本)。启用排序会产生存储成本,但 Azure 认知搜索很聪明,可以将相同的存储重新用于类似的功能,因此如果您已经设置了 IsFilterable
或 IsFacetable
,那么您很有可能IsSortable
不会产生太多额外费用。我在这里含糊其辞,因为它取决于您索引的形状,并且实施细节可能会发生变化。用您自己的数据进行试验是无可替代的。