elasticsearch,lucene,Sorting,elasticsearch,Lucene" /> elasticsearch,lucene,Sorting,elasticsearch,Lucene" />

Sorting Elasticsearch排序是在索引分析(扫描)之后还是之前应用的?

Sorting Elasticsearch排序是在索引分析(扫描)之后还是之前应用的?,sorting,elasticsearch,lucene,Sorting,elasticsearch,Lucene,我正在使用Elasticsearch 6.2,我有一些查询可以分析大量文档。我正在对索引中的一个字段进行排序。Elasticsearch检查10.000个文档(默认配置值),然后返回分页的文档 我试图阅读文档,但如果数据库在索引中的文档分析过程之前或之后应用排序,我找不到任何信息 换句话说,排序是在索引分析期间直接应用的,还是在分析后对文档进行排序?如果最后一个选项正确,扫描期间哪种排序应用Elasticsearch 非常感谢 排序、聚合和访问脚本中的字段值需要 不同的数据访问模式。而不是查找术

我正在使用Elasticsearch 6.2,我有一些查询可以分析大量文档。我正在对索引中的一个字段进行排序。Elasticsearch检查10.000个文档(默认配置值),然后返回分页的文档

我试图阅读文档,但如果数据库在索引中的文档分析过程之前或之后应用排序,我找不到任何信息

换句话说,排序是在索引分析期间直接应用的,还是在分析后对文档进行排序?如果最后一个选项正确,扫描期间哪种排序应用Elasticsearch

非常感谢

排序、聚合和访问脚本中的字段值需要 不同的数据访问模式。而不是查找术语和 查找文档时,我们需要能够查找文档并找到 字段中的术语

Elasticsearch参考文档中的这句话对我来说意味着排序是在未分析的级别上进行的,但我也决定对其进行双重检查并进行一些测试

在Elasticsearch中,我们可以对未分析的字段(例如关键字)进行排序。这些字段使用doc值进行排序,测试后,我可以说,它使用预先分析的值根据表示字符(数字、大写字母、小写字母)的代码进行排序

还可以对文本字段进行排序,并进行一些警告和调整(例如,需要启用字段数据,因为文本字段不支持文档值

在这种情况下,根据分析值对文档进行排序。当然,很大程度上取决于对管道的分析,因为它可以对文本进行各种处理。另外,作为提醒:

Fielddata会消耗大量堆空间,尤其是在加载时 高基数文本字段。一旦fielddata加载到 堆,则在段的生存期内它将保持在那里。还有,装载 fielddata是一个昂贵的过程,可能会导致用户体验 延迟命中。这就是默认情况下禁用fielddata的原因


你在搜索文本字段吗?没有。主要在
关键字
字段中。