我正在学习elasticsearch,我想使用hibernate search搜索数据,但发生了以下错误:
java.lang.UnsupportedOperationException: JsonObject
at com.google.gson.JsonElement.getAsInt(JsonElement.java:243)
at io.searchbox.core.SearchResult.getTotal(SearchResult.java:184)
at org.hibernate.search.elasticsearch.impl.ElasticsearchHSQueryImpl.execute(ElasticsearchHSQueryImpl.java:301)
at org.hibernate.search.elasticsearch.impl.ElasticsearchHSQueryImpl.queryEntityInfos(ElasticsearchHSQueryImpl.java:275)
这是我的依赖
at org.hibernate.search.query.hibernate.impl.FullTextQueryImpl.list(FullTextQueryImpl.java:197)
at org.hibernate.search.jpa.impl.FullTextQueryImpl.getResultList(FullTextQueryImpl.java:157)
at org.hibernate.demos.hswithes.model.Main.main(Main.java:37)
这是我的pom.xml
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.6.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-elasticsearch</artifactId>
<version>5.6.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.3.Final</version>
</dependency>
我使用Java8和ElasticSearch6.8。
1条答案
按热度按时间pvabu6sv1#
HibernateSearch5.6已经很老了。它只支持elasticsearch 2.0-2.4。
使用ElasticSearch6.8测试的hibernate search的唯一版本是hibernate search 6.0。如果您刚刚开始使用应用程序,我强烈建议您使用该版本。它公开了一个不同的api,但它更适合elasticsearch。
也要确保使用HibernateORM5.4。hibernate orm 5.1.3不能与hibernate search 6.0一起使用。