Solr はサーブレットとして実装されているので、実行するにはサーブレットコンテナが必要になります。
Solr には Jetty というサーブレットコンテナがバンドルされているのでその上で動かすこともできるのですが、Tomcat の方が機能的にすぐれていたり、Nutch 等の他のアプリケーションとコンテナを共有することができるので、ここでは Tomcat の上で Solr を動かす方法について記述します。
- Solr のインストールはホームディレクトリ(以下 $HOME )の下に local というディレクトリを作ってその下にインストールします。
- Tomcat も $HOME/local にインストールされているものとしています。
- JDK も $HOME/local にインストールされているものとしています。
Solr のインストール
$ cd $HOME/local $ wget http://people.apache.org/builds/lucene/solr/nightly/solr-2009-06-05.tgz $ tar xvfz solr-2009-06-05.tgz
Tomcat に組み込む
$ mkdir $CATALINA_HOME/webapps/solr $ cd $CATALINA_HOME/webapps/solr $ jar xvf $HOME/local/apache-solr-nightly/dist/apache-solr-nightly.war $ cp -r $HOME/local/apache-solr-nightly/example/solr/bin . $ cp -r $HOME/local/apache-solr-nightly/example/solr/conf . $ vi $CATALINA_HOME/conf/Catalina/localhost/solr.xml
日本語化のための設定
$ vi $CATALINA_HOME/webapps/solr/WEB-INF/web.xml<- 追記する
encodingfilter filters.SetCharacterEncodingFilter encoding UTF-8 $ mkdir $CATALINA_HOME/webapps/solr/WEB-INF/classes $ mkdir $CATALINA_HOME/webapps/solr/WEB-INF/classes/filters $ cp $CATALINA_HOME/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class $CATALINA_HOME/webapps/solr/WEB-INF/classes/filters/SetCharacterEncodingFilter.class encodingfilter /*
起動確認
$ cd $CATALINA_HOME/webapps/ $ $CATALINA_HOME/bin/shutdown.sh <- すでに Tomcat が動いている場合はシャットダウン $ $CATALINA_HOME/bin/startup.sh ブラウザから動作確認 http://localhost:8080/solr/admin/
日本語文章をインデキシングして検索してみる
$ cd example/exampledocs $ vi post.sh <- POST 先を変更 # URL=http://host:8983/solr/update URL=http://host:8080/solr/update $ cp utf8-example.xml nihongo.xml <- 日本語のドキュメントを作成 $ vi nihongo.xml <- 日本語のインデキシングと検索のためのテストデータ。文字コードはUTF-8で。内容はお好みで。$ post.sh *.xml ブラウザから確認 http://localhost:8080/solr/admin/stats.jsp numDocs : 27 とういう記述があったらOK 検索してみる http://localhost:8080/solr/admin/ から検索窓に ipod とか 日本語とか入れてみて検索できればOK NIHONGO_TESTT 日本語 の 入出力 の テスト Apache Software Foundation 検索エンジン ミドルウェア SolrはApacheプロジェクト の 検索 エンジン です そーら ソーラ Solr 0
true
ではでは