我想从我的代码的elasticsearch节点获取数据,我正在使用elasticsearch-dsl库从elasticsearch查询数据。现在,我希望根据“@timestamp”对数据进行排序,可以使用 sort api 来完成。但是我返回的数据具有超过10000个文档。我无法使用带有sort的scan来获取大数据,因为与一起使用sort不适用于elasticsearch-dsl中的scan 。有没有一种方法可以在elasticsearch-dsl中使用滚动api或任何其他方法来获取超过 10000个文档,并用“@timestamp” 排序。
最佳答案
scroll
可以和sort
一起使用,您只需要使用preserve_order
来调用它即可:s.params(preserve_order=True).scan()
希望这可以帮助!
关于python-2.7 - 使用elasticsearch-dsl获取在python中按 “@timestamp”排序的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51396258/