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

我们决定在路线图中插入另一个候选发布版本,因为有两个改进非常好,不容错过

  • Lucene 3.1
  • 智能对象图分析以跳过昂贵操作

与往常一样,下载链接 在这里,以及 Maven 用户的使用说明。如果您发现任何问题,请使用 问题跟踪器,或者使用 论坛 提出问题。

使用 Apache Lucene 3.1

终于发布了,我们期待已久,仅在一周内就能为您提供与 Hibernate Search 兼容的版本。

看起来这与 Lucene 的常规操作一样,许多 API 发生了变化。好消息是,Hibernate Search 似乎能够保护用户免受所有破坏性变化的影响:从代码上看,它是对先前版本的直接替换。

在迁移过程中需要考虑的一些事项

  • 可能 Lucene 和 Solr 扩展中的一些分析器被移动到了其他 jar 文件中,但如果您通过 Maven 依赖于hibernate-search-analyzers,再次看起来您不需要做任何更改。
  • max_field_length选项不再有意义,有关如何实现类似功能的说明,请参阅 文档
  • Hibernate Search 3.4.0.CR2 实际上 需要 Lucene 3.1

更多性能优化

除了从更新的 Lucene 继承的出色提升外,我们的内部引擎也更加智能。

在对象图中跳过可能的工作,现在在响应集合更新事件时性能有了显著提升。详情请见HSEARCH-679,并对Tom Waterhouse表示衷心感谢,他进行了复杂的功能测试,并努力让我认识到这一改进的重要性。

Infinispan集成

Hibernate Search和Infinispan之间有几种交互,除了最明显的将Infinispan用作二级缓存之外,您还可以

通过Lucene进行集群索引

我们的代码没有发生变化,只是提醒大家,可以在Infinispan网格上复制或分发Lucene索引,并且与Infinispan 4.2.1.FINAL和5.0.0.BETA1兼容

Infinispan查询

Infinispan 5中,查询引擎就是Hibernate Search本身:集成变得更加完善,使用起来更加方便,并且暴露了最新Search版本的所有功能,例如通过Infinispan本身进行分面和聚类。还有更多改进即将到来,特别是文档。

join us for JUDCon!

我将在JUDCon 2011,波士顿,5月2-3日的演讲Infinispan数据网格上的高级查询中讨论这一集成,期待与大家见面!


返回顶部