将文档插入ElasticSearch之后,我立即去查询查询。
我对请求进行了几次轮询,因此如果未完全索引该请求,它将在第二次或第三次尝试中返回。
有时,
在群集环境中,我注意到我可以得到该请求,并且一毫秒后,同一请求返回为空。
我假设它去了群集中的另一个节点-尚未建立索引。
如果是这样,我真的需要定义集群以仅在所有节点都更新后才返回值。
谢谢。
最佳答案
鉴于Elasticsearch在“近乎真实”的时间内工作,您遇到的是正常现象。默认情况下,群集每秒刷新一次,但是如果您需要更频繁地执行刷新,则可以在配置中进行更改。这样做会冒使群集承受沉重负担的风险。
如果您希望索引操作的结果可用于下一个调用,则另一种方法是显式refresh您的集群,然后才发出搜索请求。
PUT /my_index/doc/1
POST /my_index/_refresh
POST /my_index/_search
关于elasticsearch - ElasticSearch集群行为-定义所有节点以一起更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33718640/