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

我很高兴宣布Hibernate Search的Eclipse插件的第一个版本。在这篇文章中,我想描述其功能,并征求您的任何评论,无论是积极的还是(对我更重要)消极的。

安装

该插件作为jbosstools-hibernate插件的功能之一,可以单独下载和安装,或者与完整的JBoss Tools发行版一起安装。之后,您可以通过Eclipse Marketplace安装Hibernate Search插件。

所有要求,如Eclipse版本和支持的平台,都在链接中列出。

为了与Hibernate Search一起工作,您必须设置Hibernate配置属性hibernate.search.default.directory_providerhibernate.search.default.indexBase

功能

该插件旨在成为Eclipse中的一种类似Luke工具的工具。它被认为比启动单独的应用程序更方便,并直接从您的Hibernate配置中获取配置。

在控制台配置中添加了三个选项:索引重建、探索文档和尝试分析器。

Index Rebuild Action screenshot

索引重建

当在现有应用程序中引入Hibernate Search时,您必须为数据库中已经存在的数据创建一个初始的Lucene索引。

“重建索引”选项将通过在hibernate.search.default.indexBase属性指定的目录中重新创建Lucene索引来完成此操作。

Screenshot of Hibernate Search indexed entities
Screenshot for Hibernate Search configuration properties

探索文档

创建初始索引后,您现在可以检查其中包含的Lucene文档。

所有被标注为@Indexed的实体将在Lucene文档标签中显示。根据需要勾选复选框并加载文档。使用箭头遍历文档。

Screenshot of Lucene Documents inspection

尝试分析器

"尝试分析器"工具允许您查看不同Lucene分析器的结果。组合框包含工作区中所有扩展org.apache.lucene.analysis.Analyzer的类,包括用户创建的自定义实现。当您输入要分析的文字时,分析结果将立即显示在AnalysisResultTab视图中。

Screenshot of Try Analyzers

可能的问题

您可能会遇到的一个问题是"索引重建"选项似乎不起作用。作为临时解决方案,尝试明确地将Hibernate配置属性"hibernate.search.autoregister_listeners"设置为"true"。

如果您遇到其他问题,如意外行为、异常窗口或错误日志视图中的任何错误,请随时直接联系我,或者只需在插件GitHub页面中创建一个问题。

计划

  • 将"索引重建"和"探索文档"选项不仅用于配置,也用于会话工厂下的具体实体。

  • 使Lucene文档视图更容易使用,并添加更多来自Luke工具的功能,例如,在文档上搜索的能力。

  • 提高插件稳定性和实现您的建议!


返回顶部