我正在使用Hibernate Search for Elasticsearch(5.8.2.Final)和Elasticsearch(6.0)。我是新的Hibernate Search,我知道Hibernate Search for Elasticsearch是实验性的。我也知道Hibernate 6将为ES使用带来一些改进。但是,与此同时,我发现注释不允许我创建我想要的索引映射类型,我想知道是否有办法完全禁用索引映射的创建。我希望允许ES在Hibernate首次创建时将索引模板应用于我的索引。我已经阅读了文档并逐步完成了代码,但我没有看到任何可以让我这样做的东西。这可能吗?
谢谢。
您可以完全禁用索引和映射创建(请参阅Sanne的答案),但您目前无法要求Hibernate Search在不创建映射的情况下创建索引。
一种解决方案是预先创建索引。毕竟,如果你没有添加模板,为什么不添加索引呢?
另一个解决方案:你可以尝试update
策略。如果您的自定义映射与Hibernate Search生成的映射兼容,则可能只是合并它们。但是要注意不要在生产中使用它,因为使用update
策略失败会让你陷入深深的麻烦(参见the warnings in the documentation)。
要跳过创建索引定义:
hibernate.search.default.elasticsearch.index_schema_management_strategy none