寻找弹性搜索索引的集合“ max_result_window”?

时间:2019-08-14 19:35:58

标签: elasticsearch

因此,在查询ElasticSearch时,我知道您可以使用“ size”参数来限制大小。默认情况下为10,000。我想知道如何知道最大值(如果从10,000更改为最大值)?

我尝试了“ / index / _settings”,希望找到max_window_size,但是什么也找不到。我不确定这是否是因为它根本没有限制,还是我做错了什么。

因此,请重新回答我的问题:当试图向弹性搜索服务器查询“ size:xx”时,我基本上想知道如何找到最大尺寸。如果大小为10,000 /默认值,那么我想知道在哪里可以找到此数字。

有任何提示或指导吗?

2 个答案:

答案 0 :(得分:0)

您是正确的,因为弹性搜索的默认最大查询大小为10000。要获取更多信息的方法是使用“滚动” api:

https://www.elastic.co/guide/en/elasticsearch/reference/7.3/search-request-body.html#request-body-search-scroll

这实际上是使用分页将结果分为用户定义的细分,并允许您使用从初始查询返回的“ Scroll_id”“滚动”到下一个细分。

答案 1 :(得分:0)

如果未在索引本身上指定值(在您所查看的_settings中),则为10000。据我所知,您只能在索引本身上更改此设置。要将其自动应用于新索引,可以使用an index template

对于我来说,这似乎是开发人员的疏忽,例如,如果您使用按日期滚动的索引,那么就没有单个索引供您查询对值的修改(确保您可以猜到一个)。我认为您只需要确保将查询代码假设与索引模板匹配即可。我认为应该有一种方法可以要求最大可能的结果,而无需事先知道该值。