hibernate search for elasticsearch with JPA无法在JPA创建实体时自动创建索引
我正在使用hibernate搜索elasticsearch,hibernate文档告诉我们 当我们使用jpa创建实体时,索引将自动创建。我发现我的程序已成功创建实体,但未创建索引 为了使用hibernate search和es,我导入hibernate search elasticsearch jarhibernate search for elasticsearch with JPA无法在JPA创建实体时自动创建索引,hibernate,jpa,
elasticsearch,hibernate-search,Hibernate,Jpa,
elasticsearch,Hibernate Search,我正在使用hibernate搜索elasticsearch,hibernate文档告诉我们 当我们使用jpa创建实体时,索引将自动创建。我发现我的程序已成功创建实体,但未创建索引 为了使用hibernate search和es,我导入hibernate search elasticsearch jar <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernat
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-elasticsearch</artifactId>
<version>5.6.0.Final</version>
</dependency>
这就是我所有的配置,我想在使用JPA save方法创建实体时休眠搜索自动创建索引,但不是
谢谢。使用此属性启用Elasticsearch indexmanager时:
<property name="hibernate.search.default.indexmanager" value="elasticsearch"/>
这将获得在Elasticsearch上创建的索引,而不是本地Lucene索引
基本上,这些其他选项被忽略:
<property name="hibernate.search.default.directory_provider" value="filesystem"/>
<property name="hibernate.search.default.indexBase" value="/Users/yybbk/index"/>
Hibernate搜索应该已经在Elasticsearch上自动创建了索引。
您应该能够使用指向的浏览器(其中“group”是索引名,我从@Indexed注释中复制了该名称)检查是否正确。为了让Hibernate搜索插入Hibernate ORM,并在实体持久化时为其编制索引,您还需要添加
org.hibernate:hibernate搜索orm
模块作为项目的依赖项:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.6.0.Final</version>
</dependency>
org.hibernate
休眠搜索orm
5.6.0.1最终版本
可能缺少此依赖项?谢谢Sanne。我移动了目录提供程序和indexBase属性,离开indexmanager属性,但仍然无法创建索引。您如何知道没有索引?你有什么错误吗?我浏览了一下,它告诉我:index\u not\u found\u exception,它的状态是404。我的项目是一个旧项目,它使用的是hibernate core 4.3.8,如果我使用hibernate search orm 5.6.0.Final,将会出现一些错误。因此,我不使用hibernate search orm,直接使用hibernate search elasticsearch。@diligent您必须使用hibernate search orm才能自动为hibernate实体编制索引。@diligent另外,请注意hibernate search 5.6只支持hibernate Core 5.0和5.1版。恐怕您必须升级您的Hibernate Core版本(无论如何这将是一件好事),否则您将无法使用Hibernate搜索。是的,我升级了Hibernate版本,并导入了Hibernate搜索orm,它工作正常。
<property name="hibernate.search.default.directory_provider" value="filesystem"/>
<property name="hibernate.search.default.indexBase" value="/Users/yybbk/index"/>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.6.0.Final</version>
</dependency>