elasticsearch 弹性搜索。滚动需要扫描吗?,elasticsearch,scroll,database-scan,elasticsearch,Scroll,Database Scan" /> elasticsearch 弹性搜索。滚动需要扫描吗?,elasticsearch,scroll,database-scan,elasticsearch,Scroll,Database Scan" />

elasticsearch 弹性搜索。滚动需要扫描吗?

elasticsearch 弹性搜索。滚动需要扫描吗?,elasticsearch,scroll,database-scan,elasticsearch,Scroll,Database Scan,使用ElasticSearch 1.2.1 我有一些关于卷轴的问题 我想根据指定的查询导出相当多的文档,并且顺序很重要 1-滚动是否需要扫描?因为文档提到要查看有关滚动的更多信息的扫描。 2-如果我理解正确,可以浏览整个滚动,你会一直滚动直到什么都没有回来吗? 3-滚动是否使用RAM或cahce来显示结果?滚动似乎不需要扫描,但如果需要,您可以同时使用两者 不,没有。事实上,如果顺序很重要,就不能使用扫描。 是的,每次传递上一次滚动查询返回的新滚动ID时,每次调用都会有所不同。 老实说,我不知道

使用ElasticSearch 1.2.1

我有一些关于卷轴的问题

我想根据指定的查询导出相当多的文档,并且顺序很重要

1-滚动是否需要扫描?因为文档提到要查看有关滚动的更多信息的扫描。 2-如果我理解正确,可以浏览整个滚动,你会一直滚动直到什么都没有回来吗?
3-滚动是否使用RAM或cahce来显示结果?

滚动似乎不需要扫描,但如果需要,您可以同时使用两者

不,没有。事实上,如果顺序很重要,就不能使用扫描。 是的,每次传递上一次滚动查询返回的新滚动ID时,每次调用都会有所不同。 老实说,我不知道,但它会在滚动之间保留查询状态,以供选择时间,所以我认为它使用RAM。我想它不会缓存结果。
扫描是一种搜索类型,您可以指定很少的搜索类型来匹配结果并提高性能。扫描不会按文档的顺序获取文档,即按文档顺序排序。如果不使用scan,则可能应该在搜索查询中明确提及排序顺序。如果您提到任何其他排序参数,则滚动时合并会导致过载,因此首选扫描