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