数据插入和何时可用时间滞后

时间:2015-04-05 02:38:03

标签: java elasticsearch

我使用嵌入式节点与ElasticSearch和Java实现了集成测试。在启动之后,我使用批量请求为我的测试插入了一个数据集。您可以看到已使用方法的此链接:https://templth.wordpress.com/2015/01/23/implementing-integration-testing-for-elasticsearch-with-java/

在实际执行测试之前,我必须稍等一下(使用Thread.sleep)。否则数据不可用,测试失败。

它是嵌入式ElasticSearch节点的正常行为,是否可以更新/配置?

非常感谢你的帮助, 亨利

1 个答案:

答案 0 :(得分:2)

是的,这是完全正常的。

要使最近编制索引的文档可供搜索,请发出刷新。这通常是定期发生的,周期的长度由" refresh_interval"设置。 (缺省= 1秒)。

http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html

请注意,refresh实际上并未将挂起的数据提交到磁盘。

对于您的测试场景,它仍然是一个不错的方法。

此处描述了另一个:

http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html

在测试期间,将refresh_interval设置为-1,这样可以节省调用刷新的负担。你完成后一定要把它还掉!