gpt4 book ai didi

sorting - Elasticsearch 对字符串进行排序未返回预期结果

转载 作者:行者123 更新时间:2023-11-29 02:44:41 30 4
gpt4 key购买 nike

当对包含多个单词的字符串字段进行排序时,Elasticsearch 会拆分字符串值并使用最小值或最大值作为排序值。即:当按升序对值为“Eye of the Tiger”的字段进行排序时,排序值为:“Eye”,而当按降序排序时,值为:“Tiger”。

假设我的索引中有“Eye of the Tiger”和“Wheel of Death”作为条目,当我对该字段进行升序排序时,我希望“Eye of the Tiger”排在第一位,因为“E”出现在“W”之前,但是我在这个字段上排序时看到的是,“死亡之轮”排在第一位,因为“D”是该术语的最小值,而“E”是最小值“虎眼”。

有谁知道如何关闭此行为并只允许对该字符串字段进行常规排序?

最佳答案

如 mconlin 所述,如果您想对未分析的文档字段进行排序,您需要指定 "index": "not_analyzed"以按照您的描述进行排序。但是,如果您希望能够将该字段标记化以进行搜索,this post sloan 展示了一个很好的例子。使用 multi-field为一个字段保留两个不同的映射在 Elasticsearch 中很常见。

希望这对您有所帮助,如果我可以提供更多解释,请告诉我。

关于sorting - Elasticsearch 对字符串进行排序未返回预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389775/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com