Hibernate Search 更新路线图

发布    |       Hibernate Search

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

Hibernate Search 项目路线图相当过时,因此在我们的一些团队在 IRC 和开发者邮件列表上的讨论之后,我在项目网站上总结了我们的计划。

计划是什么?

当前 80% 进度

升级到 Hibernate ORM 5

Hibernate Search 5.4 中,即将发布,您现在就可以尝试它了。

JMS 后端的交易性改进

也包含在版本 5.4 中,后续可能会在 5.4 中提供改进的文档和配置示例。

MassIndexer 改进

长期存在的交易超时限制问题终于得到了解决。

Apache Lucene 5 支持

我们已经在单独的分支上进行了这项工作,但我们不会将其合并到 5.4 中,因为这个分支现在很稳定。Lucene 5 更新代码看起来并不太可怕,但我们计划将其作为 5.5 的亮点,这样您可以一次专注于一件事情:现在更新到 Hibernate ORM 5,然后在 Apache Lucene 5 之后。

这两个升级都不特别复杂,但我希望您会赞赏让我们逐步更新,并在需要额外关注的情况下在中间休息一下的努力。

请注意,升级到 Hibernate ORM 5 意味着升级到 WildFly 10。

近期计划

集群、后端和可靠性

我们希望使您在使用集群/云部署中的Hibernate Search变得更加简单。这已经实现多年了,但寻求帮助的请求量却在激增,我们必须承认我们可以在许多方面使事情变得更简单。这将是一个持续的努力,包括像在5.4中使用的JMSXGroupID这样的小改进,以及5.5中改进的JMS示例,以及我在5.6路线图上列出的几个改进的驱动程序……然而,根据您的帮助和反馈,您可能会将其理解为"5.6及以后"

Java 8, Java 9, …​

由于Java 8非常流行,Java 9也越来越近,我希望路线图上的项目,例如新日期/时间类型的开箱即用索引不需要任何解释。尽管如此,它们仍需要一些帮助!我们使注册任何类型的新桥梁变得非常简单,这样您就可以定义自己的自定义类型并定义它们应该如何被索引;这意味着您可以为任何我们尚未支持的类型创建独立的插件包,如果它是一个像JSR 310或JSR 354这样的流行类型,我们将非常乐意将其集成。

ElasticSearch和Apache Solr

长期以来一直对这类集成感兴趣,但我们未能取得任何进展,因为这个问题需要分解成更小的步骤。在JIRA路线图上的一些点可能看起来只是间接相关,但它们可以解决障碍,并为将Hibernate与这些服务集成铺平道路。虽然我们非常熟悉Apache Lucene,而这些Lucene-as-a-service替代品提供了类似的功能,但我们没有直接的经验,因此一些帮助将受到欢迎。计划是优先合并小的迭代改进,而不是让开发停滞数月,因此我们将看到在5.6+系列中的几个步骤,并以此为基准来评估我们如何处理这些略有不同的后端之间的API不一致性。

下一步!

在我们当前稳定API中巧妙地雕琢上述所有新特性后,我坚信要充分利用像ElasticSearch集成这样的特性,我们将需要对API进行更改。这一最后的细化步骤将定义Hibernate Search 6.0

像往常一样,这些计划可能需要改变,我们始终期待您的建议。我无法承诺日期或季节;我希望能在这个冬天之前看到这一切发生,但我们需要您的贡献才能使其成为现实。


回到顶部