使用Elasticsearch禁用Hibernate Search的索引映射创建

问题描述 投票:0回答:2

我正在使用Hibernate Search for Elasticsearch(5.8.2.Final)和Elasticsearch(6.0)。我是新的Hibernate Search,我知道Hibernate Search for Elasticsearch是实验性的。我也知道Hibernate 6将为ES使用带来一些改进。但是,与此同时,我发现注释不允许我创建我想要的索引映射类型,我想知道是否有办法完全禁用索引映射的创建。我希望允许ES在Hibernate首次创建时将索引模板应用于我的索引。我已经阅读了文档并逐步完成了代码,但我没有看到任何可以让我这样做的东西。这可能吗?

谢谢。

elasticsearch hibernate-search
2个回答
0
投票

您可以完全禁用索引和映射创建(请参阅Sanne的答案),但您目前无法要求Hibernate Search在不创建映射的情况下创建索引。

一种解决方案是预先创建索引。毕竟,如果你没有添加模板,为什么不添加索引呢?

另一个解决方案:你可以尝试update策略。如果您的自定义映射与Hibernate Search生成的映射兼容,则可能只是合并它们。但是要注意不要在生产中使用它,因为使用update策略失败会让你陷入深深的麻烦(参见the warnings in the documentation)。


0
投票

要跳过创建索引定义:

hibernate.search.default.elasticsearch.index_schema_management_strategy none

另见11.3.4. Hibernate Search configuration

© www.soinside.com 2019 - 2024. All rights reserved.