如何在弹性搜索查询中添加max_result_窗口

2024-04-19 03:52:43 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我的问题,它可以正常工作。我的查询非常大,所以我把示例查询放在下面

es.search(index="data", body={'query': {'match' : {'professor.contactName': 'Steve'}}})

我需要将“最大结果窗口”:1000添加到我的正文查询中

es.search(index="data", body={'max_result_window':1000, 'query': {'match' : {'proffessor.contactName': 'Steve'}}})

我得到了“RequestError:RequestError(400,'解析异常',[最大结果窗口]中值字符串的未知键)。”


Tags: 示例searchdataindexesmatchbodyresult
2条回答

这是一个索引级别设置,您可以通过更新索引设置来更改它,为此,您需要关闭索引,使用lower payload和PUT方法点击端点http://<es-host>:9200/<index-name>/_settings,然后再次打开索引

{
  "index.max_result_window": 1000
}

但是不建议使用这种方法来更新max_result_窗口,并且有更好的选项,例如scrollsearch_after,如official doc中所述

请参考此put_settings

我认为你需要使用put_设置方法。试试下面的一个

es.indices.put_settings(index='data', 
                        body={'index' : 
                             {'max_result_window':1000}})

相关问题 更多 >