Elasticsearch如何查询ID大于x的字段



我试图通过多次查询来应用分页结果,以超越Elasticsearch的10k障碍。由于Elasticsearch的结果在多个查询期间可能会有所不同,因此我想使用生成的ID来获取下一个结果。

例如,我运行一个返回1000个结果的查询。然后我想获得第1000个结果的ID值,并执行如下查询:match: ID {{1000thID}}

这样我想得到1001到2000的结果。从2001年到3000年,等等。

我目前使用python的Elasticsearch DSL来查询域名,如:

search.query('match', domainname=domainname)

如何重新构建此代码以匹配上述要求?('match',_ID> ID_Variable)

实现您想要的最好的方法是使用scroll/can API。但是,如果您仍然希望按照这种方式进行,您可以这样做:

last_id = ...
search.filter('range', id={'gt': last_id + 1, 'lt': last_id + 1000})

相关内容

  • 没有找到相关文章

最新更新