Red Hat, JBossは23日(米国時間)、Hibernate Searchの最新版となる「Hibernate Search 3.0.0 GA」を公開した。動作にはJDK 5.0/Hibernate Core 3.2が必要。Hibernate SearchはJavaで開発されたフルテキスト検索エンジン。Hibernateのパーシステントドメインモデルに対して全文検索機能を提供する。同機能はHibernate Annotationsや通常のAPIを経由して活用可能。

Javaで開発された全文検索エンジンとしてはApache Luceneが有名だが、Hibernate Searchでは全文検索エンジンとしてApache Luceneを内部で採用している。しかしながら、Hibernateが提供しているオブジェクトドメインモデルと、Apache Luceneが対象とするようなインデックスストラクチャでは、構造上の違いが大きい。このため、Hibernate Searchでは、オブジェクト/インデックス変換を自前で行うほか、インデックスを管理してデータベースとの同期管理、インデックス最適化管理、Hibernateクエリと同じ要領でのインデックス管理の提供などを実現している。

3.0.0 GAでは、手動でインデックスを更新する必要がないように透過的なインデックス同期機能が追加されているほか、そのまま使える非同期クラスタリングモデルの導入、拡張ポイントの導入による拡張性の向上などが行われている。また、HibernateやJava Persistenceクエリモデルとの統合性を向上させる作業が実施されており、Hibernate Query Languageからフルテキストクエリへの変更が容易にできるようになった。

Hibernate Searchは、クラスタモデルであっても非クラスタモデルであってもインデックスの同期や非同期機能を提供することで対応している。またHibernate Searchは、典型的なHibernateパターンとよくマッチするため、すでにHibernateを採用していてさらに全文検索機能に興味がある場合には調査の対象に加えてほしい。