Hibernate Search 是一个库,它通过自动索引实体,将 Hibernate ORM 与 Apache Lucene 或 Elasticsearch 集成,从而实现高级搜索功能:全文、地理空间、聚合等。更多信息,请参阅 hibernate.org 上的 Hibernate Search。

虽然团队一直在忙于实施新的功能,如为下一个 5.6 版本添加的 Elasticsearch 集成,但一些用户对我们稳定版本的反馈很有趣。

我所听到的反馈总结是,迁移到新的排序要求可能会令人困惑,我们的分面实现也存在一些问题。

Hibernate Search 版本 5.5.3.Final 现已发布,修复了报告的问题,并改善了排序周围的错误消息。

变更日志相当小,所以这次我会直接发布

  • HSEARCH-1917 - 无法为分面字段索引 null 或空值

  • HSEARCH-2082 - 文档中提到了 @SortField,而应该是 @SortableField

  • HSEARCH-2085 - hibernate-search-engine 记录器中的错误

  • HSEARCH-2086 - 长日期范围分面不遵守 hasZeroCountsIncluded

  • HSEARCH-2179 - 在关闭 SyncWorkProcessor 时挂起

  • HSEARCH-2193 - LuceneBackendQueueTask 在更新失败时不会释放目录锁

  • HSEARCH-2200 - 日志消息中的错误

  • HSEARCH-2240 - 并行服务查找可能找不到服务

  • HSEARCH-2199 - 允许在 SearchMapping 的程序化 API 中使用 CharFilter

  • HSEARCH-2084 - 升级到 WildFly 10.0.0.Final

  • HSEARCH-2089 - 确保性能测试不使用WildFly内嵌版本的Search

  • HSEARCH-1951 - 改进应用错误排序类型时的错误信息

  • HSEARCH-2090 - 在distribution/pom.xml中使用错误的头部

  • HSEARCH-2241 - 说明FullTextQuery中setFilter()方法的弃用

在测试套件中轻松发现低效的排序操作

虽然Hibernate Search在被迫使用次优排序策略执行查询时已经会记录警告,但这并没有使定位映射或使用错误变得容易。

设置此属性

    hibernate.search.index_uninverting_allowed = false

然后您的测试将因异常而失败,而不是记录警告。

此属性在此版本中不是新的,但值得提醒,因为它使验证先前版本的迁移变得容易得多。

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-search-orm</artifactId>
   <version>5.5.3.Final</version>
</dependency>
<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>5.0.6.Final</version>
</dependency>
<dependency>
   <groupId>org.apache.lucene</groupId>
   <artifactId>lucene-core</artifactId>
   <version>5.3.1</version>
</dependency>

我们正在做什么?

Elasticsearch集成几乎完成,我们预计几周内可以发布Beta1版本。

如何获取此版本

您所需的一切都在Hibernate Search的网站上。从这里下载完整发行版,或使用上述坐标从Maven Central获取,并不要犹豫在我们的论坛邮件列表中联系我们。


回到顶部