N-gram
日中韓の文字に関しては 2-gram、 ASCII 文字に関しては空白区切りにするトークナイザが用意されています。これを利用するには schema.xml 内の所定の fieldType 内の analyzer 内の tokenizer の class 属性を "solr.CJKTokenizerFactory" を指定します。
設定例
...
<fieldType name="text_cjk" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="solr.CJKTokenizerFactory"/>
</analyzer>
</fieldType>
...
入出力例
lucene-gosen
lucene-gosen はlucene-gosen - Japanese analysis for Apache Lucene/Solr 3.1 and 4.0 - Google Project Hostingにて開発されている Lucene / Solr 用の形態素解析器です。
lucene-gosen + Solr 3.1 | 関口宏司のLuceneブログで詳細が説明されていますが、僕は ant を実行せずにDownloadsから jar ファイルをダウンロードして /usr/local/Cellar/solr/3.1.0/libexec/example/solr/lib に設置しました。これを使うには、 tokenizer の class 属性に "solr.JapaneseTokenizerFactory" を指定します。
設定例
...
<fieldType name="text_gosen" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.JapaneseTokenizerFactory"/>
</analyzer>
</fieldType>
...
入出力例
Kuomoji
Kuromoji はATILIKA Community Innovationで開発されている形態素解析器です。 Kuromoji はユーザ辞書を使って形態素解析の結果をカスタムできたり、複合語を分割して部分に対するマッチングができます。
Downloads - ダウンロード - Koromoji - Confluenceの kuromoji-solr の Binary distribution のファイル(zip または tar.gz)をダウンロードして展開し、 lib/kuromoji-* を /usr/local/Cellar/solr/3.1.0/libexec/example/solr/lib に設置しました。これを使うには tokenizer の class 属性に org.atilika.kuromoji.solr.KuromojiTokenizerFactory を指定します。
設定例
<fieldType name="text_kuromoji" class="solr.TextField">
<analyzer>
<tokenizer class="org.atilika.kuromoji.solr.KuromojiTokenizerFactory"
mode="search"
user-dictionary=""/>
</analyzer>
</fieldType>
入出力例
