2017-08-07 39 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

更多信息