全文検索機能を試すサンプルを作成しよう!

2007年11月20日(火)
関口 宏司

HibernateUtilクラス

次に、HibernateのSessionオブジェクトを取得するためのユーティリティを作成する。Hibernate Coreのドキュメントで紹介されているHibernateUtilをコピーしてきて、Hibernate Searchで利用できるように修正を入れる。

この修正により、RDBへの更新とLuceneの検索インデックスへの更新が同期して行われるようになる。


HibernateUtilクラス、起動コマンド
図2:HibernateUtilクラス、起動コマンド

Mainクラス

最後にEmployeeオブジェクトを登録/更新/検索するMainクラスを作成する。このクラスにはプログラムのmain()メソッドも持たせることとし、プログラムは図のコマンド入力で起動できる仕様とする。

Main起動時には「insert」「update」または「query」を引数として与え、それぞれ「データの登録」「タグ情報の更新」および「社員の検索」を実行できるようにする。なお実行を簡単にするために、登録・更新する社員データとタグデータはプログラム中にString配列で埋め込むこととし、タグ情報は乱数によって決定する。そして検索の場合は、String配列で持つすべてのタグ情報をforループですべて検索する。

次に、社員の検索を行うソースコードについて解説する。

株式会社ロンウイット

代表取締役社長
数社のITベンダー勤務を経て、2006年5月にロンウイット社を設立。オープンソースの全文検索エンジンLuceneとSolrを企業システムに導入する支援事業を展開している。「Apache Lucene入門」(技術評論社)はじめ著書多数。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています