yoshida_eth0の日記 このページをアンテナに追加 RSSフィード

2013-03-31

SolrをTomcat7で動かす

インストールメモ。

 

サーバはCentOS6.4。

TomcatはJPackageリポジトリを使ってYumで入れる。

Solrは4.2.0をtarで取って来る。

 

インストール

# jpackage
cd /tmp/
wget http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/jpackage-release-6-3.jpp6.noarch.rpm
yum -y install jpackage-release-6-3.jpp6.noarch.rpm

# tomcat7
yum install java tomcat7
service tomcat7 start
chkconfig tomcat7 on

# solr
cd /tmp/
wget http://ftp.kddilabs.jp/infosystems/apache/lucene/solr/4.2.0/solr-4.2.0.tgz
tar -xvf solr-4.2.0.tgz

cp -rp /tmp/solr-4.2.0/example/solr /var/lib/tomcat7/
cp -rp /tmp/solr-4.2.0/contrib /var/lib/tomcat7/solr/
cp -rp /tmp/solr-4.2.0/dist /var/lib/tomcat7/solr/
chown tomcat:tomcat -R /var/lib/tomcat7/solr

cp /tmp/solr-4.2.0/example/webapps/solr.war /var/lib/tomcat7/webapps/
# solr.warをzip解凍する。tomcatが立ち上がっていれば自動で解凍される。

 

設定

server.xmlの編集

「/etc/tomcat7/server.xml」を編集

「useBodyEncodingForURI」を追加する。

<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" useBodyEncodingForURI="true"/>

 

solrのweb.xmlの編集

「/var/lib/tomcat7/webapps/solr/WEB-INF/web.xml」を編集

SolrRequestFilterの手前に追加

<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

 

solr.xmlの追加

「/etc/tomcat7/Catalina/localhost」にsolr.xmlを作成する。

※ディレクトリが存在しない場合は作成する。

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/var/lib/tomcat7/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/var/lib/tomcat7/solr" override="true"/>
</Context>

 

APIレスポンス確認

$ curl http://127.0.0.1:8080/solr/collection1/select
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int name="QTime">44</int><lst name="params"/></lst><result name="response" numFound="0" start="0"></result>
</response>

 

参考URL

ビーキョウのIT Solr 4.0 + Tomcat 7 インストール(構築)

http://itdata.blog.shinobi.jp/solr/solr%204.0%20-%20tomcat%207%20%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB-%E6%A7%8B%E7%AF%89-