asynchronous - Elasticsearch批量更新,然后进行搜索

标签 asynchronous elasticsearch bulk

在我的服务器上,我使用批量API更新了一些文档:

{"update":{"_type":"post","_retry_on_conflict":"3","_index":"xxxx","_id":"yyyy"}}
{"doc":{"sentiment":"positive","mood":1,"upgrade":true}}

得到响应后,我使用搜索对同一文档提出新的请求:
{"query":{"filtered":{"filter":{"ids":{"values":["yyyy"]}}}}}

但是返回的文档没有更新值(仍然具有旧值)。如果我等待一段时间,则会显示更新的值。我认为发生这种情况是因为批量是异步的吗?有没有什么办法解决这一问题?

最佳答案

您可以使用refresh api强制进行索引更新,甚至可以在批量命令的末尾添加?refresh=true。但是通常不推荐。另外,如果有多个节点,则可能需要使用synced flush

关于asynchronous - Elasticsearch批量更新,然后进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34297936/

相关文章:

java - 在JAVA中发出多个http请求的快速异步方法

amazon-web-services - 无法通过 EC2 实例中的公共(public) IP 访问我的 Elasticsearch

c# - 将大量 XML 插入 sql azure 数据库的正确方法

javascript - 如何在 jQuery 1.8.x 中链接一系列延迟函数?

python - 当某些项目相互依赖时,如何运行异步进程列表?

docker - 使用docker-compose将Elasticsearch请求/查询记录到docker实例的stdout中

configuration - 如何在 Drupal 7 中使用 Mandrill 发送群发邮件

java - 使用网络应用程序上传大文件

c# - 在非异步方法中使用异步

ubuntu - 在 ubuntu 中启动 Elasticsearch Server 失败