2017-08-07 38 views
3

我嘗試將HibernateSearch從版本5.7.0.Alpha1升級到版本5.7.1.Final,但這是不可能的。版本5.7.1.HibernateSearch最終抱怨ElasticSearch黃色索引狀態

Exception in thread "main" org.hibernate.search.exception.SearchException: 
HSEARCH400024: Timed out while waiting for for index 
'com.example.app.model.journal' to reach status 'green'; 
status was still 'yellow' after 10000ms. 

索引狀態yellow是我設置的典型(我認爲):運行我的應用程序與Final版本編譯時,我得到了下面的錯誤。我的整個羣集狀態爲yellow,因爲它是ElasticSearch的單機部署(用於測試目的)。所以我想阻止HibernateSearch等待​​狀態,並強制它接受yellow之一(以前的版本不這樣做)。有一些設置可以設置,例如在hibernate.cfg.xml

我在開發人員論壇上發現了這個問題,但沒有人提到設置名稱。

回答

6

只需將此屬性hibernate.search.default.elasticsearch.required_index_status設置爲yellow即可。可能的值是​​或red

僅當索引處於此級別或更安全時才能運行。在開發中,如果啓動的節點數量低於預期副本數,則將此值設置爲黃色。

你可以找到在這個documentation

更多信息