Solr 3.6.1をJBoss AS 7.1.1.Final(Standalone)で動かしてみた
ちょっとSolrの動作確認をしたくなったため、手元にある7.1.1.Finalで動かしてみた。
Standaloneモード試しています。
参考
http://wiki.apache.org/solr/SolrJBoss#JBoss_7_and_Solr_4.0-ALPHA
https://community.jboss.org/message/643825#643825
ポイントはSolrの設定ファイルやインデックス格納ディレクトリをJBoss ASに伝える方法かな。
Solrの設定をサンプルからコピー
今回はサンプルの設定ファイルを使用して稼働確認する。解凍したディレクトリにあるexample/confディレクトリごと任意のディレクトリにコピーする。
mkdir -p /path/to/solr_home cp -r apache-solr-3.6.1/example/solr/conf /path/to/solr_home
JBoss ASのstandalone.xmlを編集
$JBOSS_HOME/standalone/configuration/standalone.xml を修正する。
<extension module="org.jboss.as.webservices"/> <extension module="org.jboss.as.weld"/> </extensions> <system-properties> <property name="solr.solr.home" value="/path/to/solr_home"/> <property name="solr.data.dir" value="/path/to/solr_data"/> <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/> </system-properties>
- solr.solr.homeにはSolrのconfディレクトリをコピーしたディレクトリを設定する。
- solr.data.dirには、任意のディレクトリを指定する。なお、この設定がない場合はsolr.solr.home/data ディレクトリが自動的に使われるのでなくても良い。
- URI_ENCODINGをUTF-8に設定しないと、日本語での検索ができなくなるので注意。
- org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING のtrue設定は不要で良い。これをtrueにすると日本語検索が逆にできなくなるようです。
※なお、JBoss ASの起動オプションで-Dsolr.solr.home=/path/to/solr_home のように設定するのもOK。
solr.warをデプロイ
apache-solr-3.6.1/example/webapps/solr.war をJBoss ASのデプロイディレクトリにコピーすればOK。
cp apache-solr-3.6.1/example/webapps/solr.war $JBOSS_HOME/standalone/deployments/
JBoss ASの起動
cd $JBOSS_HOME/bin ./standalone -b 0.0.0.0 &
とりあえず検証用に直でアクセスするので、-b 0.0.0.0を付けて外部からアクセス可能に指定しています。