2015-04-05 95 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,節省您的通話刷新的負擔。完成後請務必將其還原!