我对Elasticsearch有如下疑问:
在复制模式下是异步的,在为文档建立索引时,该文档将已经存在于主分片上,但尚未复制到副本分片上。此时,此文档的GET请求将转发到副本分片。
在文档尚未在副本分片上建立索引或文档尚未在副本分片上更新的情况下,Elasticsearch如何处理?
在索引新文档或在更新文档的情况下返回旧文档的情况下,将返回失败请求?还是请求节点将转发到主分片以获取数据?
最佳答案
首先,我不建议使用异步模式。它实际上并没有提供您无法以更安全的方式获得的任何好处,但是会带来可靠性方面的问题。因此,此功能在Elasticsearch的v1.5中已被弃用,在v2.0中已完全被removed弃用。
话虽如此,如果您仍然想使用异步并关心获得最新结果,则必须将其与primary
preference一起使用。
如果是update操作,则无需执行任何操作。始终总是先对主分片执行更新,然后将操作结果复制到所有副本。
关于elasticsearch - 在尚未更新数据的副本分片上检索文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32327102/