今回は実際にLinuxマシン上にSolr/Luceneをインストールします。インデックスにデータを投入した上で,Solr/Luceneに組み込まれている管理機能の画面から検索を実施するところまでを紹介します。
今回の作業で必要になるモジュール類は以下の通りとなります。
- Solr(Luceneは同こん)
- Java SDK(1.5以降)
- lucene-ja(N-gram解析機能)
- sen(形態素解析機能)
なお,今回の作業では日本語解析モジュールを導入しますが,その中で形態素解析モジュール用の辞書の作成が必要になります。形態素解析モジュール用の辞書作成作業では以下のモジュールが必要になります。
- ant(1.7以降)
- perl(5.0以降)
では,導入作業を進めましょう。
(1)Javaのインストール
まず,最新のSolr 1.3ではJava 1.5以上のバージョンが必要になります。Java 1.5より古いバージョンのJavaがインストールされている環境では,事前に最新のJavaをインストールしてください。
なお本文書に記載の作業の中でwarファイルを展開する作業が発生しますので,JREではなくJDKをインストールするようにしてください。
(2)Solrのインストール
Solrのダウンロードを行います。次のURL(http://www.apache.org/dyn/closer.cgi/lucene/solr/)にアクセスし,適宜ミラー・サイトを選択して「apache-solr-1.3.0.tgz」をダウンロードしてください。Solr1.3にはLucene 2.4dev本体およびサーブレット・コンテナとして「jetty-6.1.3」が同こんされていますので,ダウンロードは上記Solrのパッケージだけで構いません。
Solrのインストールは,ダウンロードしたapache-solr-1.3.0.tgzを任意のディレクトリに展開するだけで完了となります。本連載では,Solrを展開してできたディレクトリを「$SOLR_HOME」と記載します。例えば,「/usr/local」でtgzを展開した場合,「/usr/local/apache-solr-1.3.0」が$SOLR_HOMEとなります。
(3)アプリケーションの展開
apache-solr-1.3.0.tgzには,exampleとして基本的なアプリケーションが同こんされています。このアプリケーションはwar形式にパッケージされた状態で配布されており,単に起動するだけであればapache-solr-1.3.0.tgzを展開しただけで起動が可能です。しかし今回は日本語解析用モジュールの組み込みや簡単なjspの修正などを行うために,warファイルを展開します。
warファイルの展開作業では,$SOLR_HOME/exampleに「/solr」というディレクトリを作成し,そこに$SOLR_HOME/example直下にあるsolr.warを展開します。具体的にはsolr.warを./solr以下にコピーした上,/solrディレクトリで以下のコマンドを実行します。
$ jar xvf ./solr.war![]() |
(4)日本語化モジュールの導入
今回は,日本語解析のためのモジュールとしてN-gram解析モジュールと形態素解析モジュールの両方を導入します。いずれのモジュールも次のURL(https://sen.dev.java.net/servlets/ProjectDocumentList?folderID=755&expandFolder=755&folderID=0)からダウンロードすることが可能です(図1)。
N-gram解析機能はlucene-jaというモジュールになりますが,同モジュールの最新安定版は1.4系となっており,Solr 1.3のLucene 2.4devでは動作しません。そこで,ここではlucene-ja-2.0test2.zipをダウンロードしてください。
また,形態素解析機能にはsenを用いますので,安定版のsen-1.2.2.1.zipをダウンロードしてください。