N-gram
Solrには2-gramのCJKTokenizerがあるのでそれを使える。Tokenizerはインデックスフィールドごとに設定するが、サンプルには記載がないのでschema.xmlにtext_cjkというFiledを追加してこれをCJKTokenizerで解析してみる。追記したらサーバーを再起動。
#schema.xml cd apache-solr-3.3.0/example/solr/conf vi schema.xml
確認
http://localhost:8983/solr/admin/analysis.jsp
- Fieldをtypeに変更して「text_cjk」と入力
- FieldValueに「こんにちは」と入力
- Analyzeボタン押下
形態素解析
Solrには日本語の形態素解析器は含まれないので別途形態素解析用のライブラリを用意する必要がある。
これまで、Javaの形態素解析器ではSenが有名であったが、既に長いことメンテナンスされなくなっている。
これとは別にSenをベースとしたライブラリlucene-gosenがリリースされているのでこちらを使用する。
詳しくはこの辺を参照
http://lucene.jugem.jp/?eid=435
http://lucene.jugem.jp/?eid=436
ダウンロード
以下よりダウンロード。2つのjarがあるが、これは辞書の違いなので好きな方を持ってくる。
http://code.google.com/p/lucene-gosen/
ライブラリをコピー
mkdir $SOLR/example/solr/lib cp lucene-gosen-1.1.1-ipadic.jar $SOLR/example/solr/lib