我们以前使用过hibernate搜索,Lucene用于索引。
为了提供更好的可伸缩性,我们计划使用Elasticsearch 5(而不是Lucene)。
我有以下问题:
发布于 2018-05-18 08:20:12
是否有任何显式hibernatesearch将数据提供给弹性搜索?
AFAIK您可以使用标准的HibernateSearch API来将数据发送到Elasticsearch,而不是Lucene。对你来说几乎是透明的。在查询时,您可以两者兼得。使用标准HibernateSearch查询或使用原生elasticsearch查询
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager(entityManager);
QueryDescriptor query = ElasticsearchQueries.fromJson(
"{ 'query': { 'match' : { 'lastName' : 'Brand' } } }");
List<?> result = fullTextEm.createFullTextQuery(query, GolfPlayer.class).getResultList();你也可以访问Elasticsearch客户端。
同时使用Hibernate搜索和弹性搜索有什么挑战吗?
我认为Hibernate搜索小组做得很好。它包括透明度,如清单已知的实施限制。
发布于 2018-08-01 01:56:52
我相信使用弹性搜索的JPA风格,所有内置的方法都可以使用。
如果需要样例代码,请告诉我。
public interface YourClass extends ElasticsearchRepository<Object, String>{}
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.0.8.RELEASE</version>
</dependency>https://stackoverflow.com/questions/50403836
复制相似问题