Solrをインストールしてみる

モジュールをダウンロード

http://www.meisei-u.ac.jp/mirror/apache/dist/lucene/solr/1.2/
デプロイ

ダウンロードしてzipファイルを解凍して、apache-solr-1.2.0.warを$TOMCAT_HOME/webapps配下に配置。
Tomcatを起動してみる。予想通り例外が発生。

致命的: フィルタ SolrRequestFilter の起動中の例外です
java.lang.NoClassDefFoundError: Could not initialize class org.apache.solr.core.SolrConfig

ん~NoClassDefFoundErrorだから何かライブラリが不足してるのだろうか?
Google先生に聞いてみると答えがあったっぽい。Google先生に感謝 m(_ _)m
http://blog.livedoor.jp/maru_tak/archives/50558782.html
どうやらライブラリの不足ではなくて設定が不足しているもよう。

apache-solr-1.2.0.zipの中にexampleってディレクトリがあります。
この中のsolrってディレクトリをまるっと$TOMCAT_HOME配下にコピー。
Tomcatを再起動してみると・・・、おぉー起動できました!

その後の調査で・・・

http://wiki.apache.org/solr/SolrTomcat
によるとTomcatでデプロイする場合、
export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/my/custom/solr/home/dir/"
のようにSolrのホームディレクトリを起動時のオプションで指定するらしいことが判明。
なので、$TOMCAT_HOME/solr固定ではなくて自由に配置できそう。(当たり前か)

もしくは、
<Context docBase="/some/path/solr.war" debug="0" crossContext="true" >
<environment override="true" value="/my/solr/home" type="java.lang.String" name="solr/home">
</context>

って感じでsolrのコンテキストファイルを作って、環境変数として設定するのもありらしい。
こっちのがsolrの設定が独立していいかも。
面倒なのでどっちも試してません。そのうち試そ。

0 コメント: