JBoss EAP+Luceneによる全文検索システム 1

Luceneのオープン性

Luceneのオープン性

OSSであるLuceneは全文検索の機能をJavaのAPIで提供するため、さまざまなカスタマイズが可能である。例えば、検索キーワードに関連した別の単語で検索する「類義語検索(シノニム検索)」などがある。

さらに、関連ツールやアプリケーションなどが世界中で開発され、ソースコードが公開されているのもLuceneの強みである。ここでは2つのLucene関連プロダクトを紹介しよう。


Luke

LukeはLuceneの転置索引(インデックス)をブラウズするGUI形式の「インデックスブラウザ」である。Lucene開発者の間ではデバッグ用のツールとして必携のアイテムとなっている。

Luke
図3:Luke
(画像をクリックすると別ウィンドウに拡大図を表示します)

Apache Solr

SolrはLuceneのAPIを使って開発された「検索サーバ」である。Tomcatなどのサーブレットサーバにsolr.warファイルをデプロイして以下のようなURLにアクセスすると、図4のような検索結果のXMLを返す。

http://localhost:8080/solr/select?q=ipod
Apache Solr
図4:Apache Solr
(画像をクリックすると別ウィンドウに拡大図を表示します)

SolrはCNETが開発した検索サーバのフレームワークがApache Software Foundationに寄贈されたもので、Luceneのサブプロジェクトとして管理・開発されている。本家のCNETの他、日本国内でも筆者がコンサルティングを手がけた数社が採用しており、実際に検索サービスを提供し始めているなど、今もっとも注目されているOSSの1つである。

Solrが利用されている「CNET Shopper.com」
http://shopper.cnet.com/

次回は

今回は、日本語全文検索の概要と大規模システムで使用できるOSSの検索エンジンLuceneについて紹介した。次回は、実際にJBoss EAP上で動作するLuceneの検索Webアプリケーションを作成する。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る