2015-04-05 94 views
1

我使用嵌入式节点与ElasticSearch和Java一起实施了集成测试。在启动它之后,我使用批量请求为我的测试插入了一个数据集。你可以看到以下链接:https://templth.wordpress.com/2015/01/23/implementing-integration-testing-for-elasticsearch-with-java/数据插入与何时可用之间的延迟

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

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

非常感谢您的帮助, 蒂埃里

回答

2

是的,这是完全正常的。

要使最近索引的文档可供搜索,请发出刷新。这通常周期性地发生,周期的长度由“refresh_interval”(默认= 1s)设置。

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

注意,刷新不未决数据实际提交到磁盘。

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

另一个原因是这里描述:

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

对于您的测试的持续时间,refresh_interval设置为-1,节省您的通话刷新的负担。完成后请务必将其还原!