Hibernate Search 6.0.2.Final 与 opendistro
Hibernate Search 6.0.2.Final with opendistro
我有一个 Spring Boot 2.4.2
应用程序与 Hibernate Search 6.0.2.Final
集成
使用标准 elasticsearch
时,在持久化新实体时一切正常 (read/write)。索引也会根据默认 simple
索引策略按预期 myindex-000001
创建。
但是,当我将后端切换到 opendistro
(最新)时,我只看到一个由名称 myindex-write
创建的索引(与预期的 myindex-000001
不同)。
写入操作按预期正常工作(由于后缀 -write
),但是读取操作失败并出现错误:
root_cause": [
{
"type": "index_not_found_exception",
"reason": "no such index [myindex-read]",
"resource.type": "index_or_alias",
"resource.id": "myindex-read",
"index_uuid": "_na_",
"index": "myindex-read"
}
]
GET /_cat/aliases
on opendistro
显示索引没有别名。
解决此问题的最佳方法是什么? no-alias
显示策略 here?使用 no-alias
的缺点是缺乏像重新索引这样的蓝绿部署。 custom
索引策略是解决这个问题的最佳方法吗?
以上问题都是因为我将hibernate.search.schema_management.strategy
设置为none
造成的。索引需要手动创建,如文档中所述 here
我有一个 Spring Boot 2.4.2
应用程序与 Hibernate Search 6.0.2.Final
使用标准 elasticsearch
时,在持久化新实体时一切正常 (read/write)。索引也会根据默认 simple
索引策略按预期 myindex-000001
创建。
但是,当我将后端切换到 opendistro
(最新)时,我只看到一个由名称 myindex-write
创建的索引(与预期的 myindex-000001
不同)。
写入操作按预期正常工作(由于后缀 -write
),但是读取操作失败并出现错误:
root_cause": [
{
"type": "index_not_found_exception",
"reason": "no such index [myindex-read]",
"resource.type": "index_or_alias",
"resource.id": "myindex-read",
"index_uuid": "_na_",
"index": "myindex-read"
}
]
GET /_cat/aliases
on opendistro
显示索引没有别名。
解决此问题的最佳方法是什么? no-alias
显示策略 here?使用 no-alias
的缺点是缺乏像重新索引这样的蓝绿部署。 custom
索引策略是解决这个问题的最佳方法吗?
以上问题都是因为我将hibernate.search.schema_management.strategy
设置为none
造成的。索引需要手动创建,如文档中所述 here