ElasticSearch。滚动是否需要扫描?

时间:2014-06-25 15:03:59

标签: elasticsearch scroll database-scan

使用ElasticSearch 1.2.1

我有一些关于滚动的问题。

我想根据指定的查询导出相当多的文档,并且ORDER DOES MATTER。

1-滚动是否需要扫描?因为文档提到要扫描有关滚动的更多信息。 2-如果我理解正确完成滚动,你会继续滚动直到你什么都没有回来? 3-滚动是否使用RAM或结果?

3 个答案:

答案 0 :(得分:0)

看起来滚动不需要扫描,但如果需要,你可以将它们放在一起使用。

答案 1 :(得分:0)

  1. 不,不是。事实上,如果订单很重要,则无法使用扫描。
  2. 是的,每次传递上一个滚动查询返回的新scrollId(每次调用都会有所不同)。
  3. 老实说我不知道​​,但它会在你选择的时间内保持你的查询状态,所以它使用RAM我认为。我想它不会缓存结果。

答案 2 :(得分:0)

扫描是一种搜索类型,您可以指定的搜索类型很少,以匹配您的搜索结果并提高性能。扫描确实按照它们的顺序获取文档,即按文档顺序排序。如果您不使用扫描,那么您可能应该使用搜索查询明确提及排序顺序。如果你提到任何其他的排序参数,那么在滚动时它是合并的重载,因此首选扫描。