Solr の日本語環境設定をする

Solrで日本語ドキュメントのインデキシングと検索をするための環境設定をします。
SolrというよりTomcatの日本語環境設定といった方が近いかもしれませんが。
文字コードUTF-8を使用しています。

server.xmlの設定

TOMCAT_HOME/conf/server.xmlに以下を追加します。

URIEncoding="UTF-8" useBodyEncodingForURI="true"

例(ポート番号変えてる人は適宜修正してね。)


web.xmlエンコードを設定

$TOMCAT_HOME/webapps/solr/WEB-INF/web.xml
に以下を追記します。


 Set Character Encoding
 filters.SetCharacterEncodingFilter
 
  encoding
  UTF-8
 


 Set Character Encoding
 /*

エンコーディングフィルタを準備する

自分で作ったり、既に持っているのであればそれを使ってもよいです。
Tomcatサーブレットのサンプルについているのを使うのもお手軽な方法です。

コピー先ディレクトリの作成
% mkdir $TOMCAT_HOME/webapps/solr/WEB-INF/classes
% mkdir $TOMCAT_HOME/webapps/solr/WEB-INF/classes/filters
コピー
% cp $TOMCAT_HOME/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class $TOMCAT_HOME/webapps/solr/WEB-INF/classes/filters/SetCharacterEncodingFilter.class

tomcatの再起動

ここまで終わったらTomcatを再起動しましょう。

% $TOMCAT_HOME/bin/shutdown.sh
% $TOMCAT_HOME/bin/startup.sh

日本語のドキュメントを登録してみる

ドキュメントの作成

トークナイザはデフォルトのWhitespaceTokenizerFactoryのままなので
単語毎に半角スペース入れ下さい。

% vi ipod_jananese.xml

 
  iPodJananese
  アップル 60 ギガバイト アイポッド
  アップル コンピュータ
  電化製品
  音楽
  カッコイイよ
  very good
 

ドキュメントの登録
% post.sh ipod_jananese.xml
検索

Solrの検索窓に"アップル"と入れて検索してみる。
無事検索できたらおk

ではでは。