gpt4 book ai didi

elasticsearch - Elasticsearch 2.1:“结果”窗口太大(index.max_result_window)

转载 作者:行者123 更新时间:2023-12-03 00:15:06 25 4
gpt4 key购买 nike

我们从Elasticsearch 2.1检索信息,并允许用户翻阅结果。当用户请求较高的页码时,我们会收到以下错误消息:

Result window is too large, from + size must be less than or equal to: [10000] but was [10020]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level parameter



flex 文档表示,这是因为内存消耗高,并且要使用滚动api:

Values higher than can consume significant chunks of heap memory per search and per shard executing the search. It’s safest to leave this value as it is an use the scroll api for any deep scrolling https://www.elastic.co/guide/en/elasticsearch/reference/2.x/breaking_21_search_changes.html#_from_size_limits



事实是,我不想检索大型数据集。我只想从数据集中检索一个 slice ,该 slice 在结果集中很高。滚动文档也说:

Scrolling is not intended for real time user requests https://www.elastic.co/guide/en/elasticsearch/reference/2.2/search-request-scroll.html



这给我一些问题:

1)如果我使用滚动api向上滚动到结果10020(而不考虑低于10000的所有内容),而不是对结果10000-10020进行“正常”搜索,则内存消耗是否会真正降低(如果有,为什么)?

2)滚动API似乎不是我的选择,但我必须增加“index.max_result_window”。有人对这个有经验么?

3)还有其他选择可以解决我的问题吗?

最佳答案

如果需要深度分页,一种可能的解决方案是增加值max_result_window。您可以使用curl从您的shell命令行执行此操作:

curl -XPUT "http://localhost:9200/my_index/_settings" -H 'Content-Type: application/json' -d '{ "index" : { "max_result_window" : 500000 } }'
我没有注意到内存使用率增加了,大约为100k。

关于elasticsearch - Elasticsearch 2.1:“结果”窗口太大(index.max_result_window),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36787592/

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