前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。はてなダイアリーから移行したため古い記事にはアプリ以外も含まれます。

日本語対応

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

  1. Fieldをtypeに変更して「text_cjk」と入力
  2. FieldValueに「こんにちは」と入力
  3. 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
schema.xmlを編集
#schema.xml
cd apache-solr-3.3.0/example/solr/conf
vi schema.xml

  
    
  


再起動
#Senのディレクトリを指定して起動
cd apache-solr-3.3.0/example
java -jar start.jar