好的,情况是在 Elasticsearch 解决方案中有两个集群,一个集群在一个节点上,一个集群在另一个节点上。如果平台采用循环方式设置,那么滚动API是否在这种情况下有效?它似乎对第一个滚动有效,但是第二个滚动却失败了,但search_context_missing_exception失败,使我认为这是循环在多个群集和/或节点上运行滚动请求的问题。有任何想法吗 ?
最佳答案
滚动API创建了一个持久的搜索上下文,该上下文将一直存在直到您完成滚动或清除搜索上下文或搜索超时为止。
但是,该搜索上下文无法在两个不同的群集之间共享,因此,如果在一个群集上启动滚动搜索,则需要完全在同一群集上执行滚动搜索而不切换群集。因此,循环方法将在这里成为问题。
但是,如果两个群集是彼此的精确副本,则可以改为使用 search_after
。还建议使用这种方法,而不是使用重量更重,成本更高的滚动API。
关于elasticsearch - 最新的Elasticsearch 7.x是否支持在不同节点中的集群之间滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388033/