我尝试将HibernateSearch从版本5.7.0.Alpha1
升级到版本5.7.1.Final
,但这是不可能的。运行使用Final
版本编译的应用程序时出现以下错误:
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
在我的设置中是典型的(我认为)。我的整个群集状态为yellow
,因为它是ElasticSearch的单机部署(用于测试目的)。所以我想阻止HibernateSearch等待green
状态并强制它接受yellow
状态(之前的版本没有这样做)。我可以设置一些设置,例如hibernate.cfg.xml
吗?
我发现在开发者论坛上讨论过这个问题,但是没有人提到设置名称。
答案 0 :(得分:7)
只需将此属性hibernate.search.default.elasticsearch.required_index_status
设置为yellow
即可。可能的值为green
或red
。
仅在索引处于此级别或更安全时才运行。在开发中,如果启动的节点数低于预期副本数,则将此值设置为黄色。
您可以在此documentation
中找到更多信息