gpt4 book ai didi

sorting - ElasticSearch Sorted Index 无法按预期使用多个分片

转载 作者:行者123 更新时间:2023-12-04 11:26:02 25 4
gpt4 key购买 nike

我有一个带有默认价格排序映射的弹性索引:

shop_prices_sort_index

"sort" : {
"field" : "enrich.price",
"order" : "desc"
},
如果我插入 10 个文件:
100, 98, 10230, 34, 1, 23, 777, 2323, 3, 109
并使用/_search 获取结果。默认情况下,它按价格降序返回文档。
10230, 2323...
但是,如果我将文档分发到 3 个分片中,那么相同的查询会返回一些其他产品序列:
100, 98, 34...
我真的被困在这里,我不确定我是否遗漏了一些基本的东西,或者我是否需要任何额外的设置才能使排序索引正确运行。
PS:我也试过“路由”和“偏好”。但没有运气。
非常感谢任何帮助。

最佳答案

配置时index sorting ,您只是确保 每个分片内的每个段 正确排序。索引排序的目标是提供一些more optimization during searches
由于 ES 的分布式特性,当你的索引有很多分片时,每个分片都会被正确排序,但是你的搜索查询 仍然需要使用排序 明确地。
因此,如果您的索引设置包含以下内容以在索引时应用排序

"sort" : {
"field" : "enrich.price",
"order" : "desc"
}
您的搜索查询还需要在查询时包含相同的排序规范
"sort" : {
"field" : "enrich.price",
"order" : "desc"
}
通过使用索引排序,您在索引时会遇到一些开销,但最终您的搜索查询会更快一些。

关于sorting - ElasticSearch Sorted Index 无法按预期使用多个分片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67907634/

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