微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Elasticsearch 高级 REST 客户端 - 索引有延迟

如何解决Elasticsearch 高级 REST 客户端 - 索引有延迟

我们终于开始使用高级 REST 客户端,以从后端工程的角度简化查询的开发。对于索引,我们使用 client.update(request,RequestOptions.DEFAULT) 以便创建新文档并修改现有文档。

我们看到的问题是,索引编制延迟了将近 5 分钟。我看到他们在内部使用异步 http 调用。但这应该不会花这么长时间,我在图书馆里找了一些计时选项,没有找到任何东西。我是否遗漏了什么或缺少官方文档?

解决方法

由于您的索引设置中有 refresh_interval: 1,这意味着除非您手动执行,否则它永远不会refreshed,这就是为什么您在数据更新后看不到数据的原因。

这里有三个选项:

A.您可以使用 _update(或 refresh=true)参数调用 refresh=wait_for 端点,以确保索引在更新后立即刷新。

B.您可以在索引设置中简单地设置 refresh_interval: 1s(或任何其他对您有意义的持续时间),以确保索引定期自动刷新。

C.您可以在索引上明确 call index/_refresh 以在您认为合适的时候刷新它。

选项 B 通常在大多数用例中都有意义。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?