Python 如何在弹性搜索查询中添加max_result_窗口
下面是我的问题,它可以正常工作。我的查询非常大,所以我把示例查询放在下面Python 如何在弹性搜索查询中添加max_result_窗口,python,elasticsearch,dsl,Python,elasticsearch,Dsl,下面是我的问题,它可以正常工作。我的查询非常大,所以我把示例查询放在下面 es.search(index=“data”,body={'query':{'match':{'professor.contactName':'Steve'}}}) 我需要将“最大结果窗口”:1000添加到我的正文查询中 es.search(index=“data”,body={'max\u result\u window':1000,'query':{'match':{'professor.contactName':'S
es.search(index=“data”,body={'query':{'match':{'professor.contactName':'Steve'}}})
我需要将“最大结果窗口”:1000添加到我的正文查询中
es.search(index=“data”,body={'max\u result\u window':1000,'query':{'match':{'professor.contactName':'Steve'}}})
我得到了“RequestError:RequestError(400,'解析\u异常',[最大结果\u窗口]中值\u字符串的未知键)。”这是一个索引级别设置,您可以通过更新索引设置来更改它,您需要关闭索引,使用下面的有效负载和PUT方法点击端点
http://:9200/\u设置
,然后再次打开索引
{
"index.max_result_window": 1000
}
但不建议使用这种方式更新max_结果_窗口,并且有更好的选项,如滚动
和在
后搜索,如所述
我认为你需要使用put_设置方法。试试下面的一个
es.indices.put_settings(index='data',
body={'index' :
{'max_result_window':1000}})
RequestError:RequestError(400,'非法参数\异常','未知设置[index.query.match.proffessor.contactName]请检查是否安装了任何必需的插件,或检查中断更改文档以获取删除的设置')放弃匹配查询json:{'match':{}是的,这很有效,所以如果我们想写一些问题怎么办?请更改答案。首先需要通过es.index.put\u设置更新
max\u result\u窗口
,然后执行es.searches.index.put\u设置(index='data',body={'index':{'max\u result\u window':1000})
如何在python查询中添加滚动和搜索?search(index=“data”,body={'query':{'match':{'professor.contactName':'Steve'}}})search_在你的意思是说size:10000
之后,我试过了,但没有working@Nons请参阅以了解更多信息,我不了解python:(很抱歉,ES是基于JSON的,所以您应该能够使它以JSON格式工作,我看到您甚至正在跨越由ES@Nons在这种情况下,正如搜索后的官方文档中所建议的,您应该使用一次滚动APIcan u检查。我需要在不更改设置的情况下进行更改