日本語の文章に対して全文検索用のインデックスを作成する方法としては、形態素解析により分解した単語をインデックスする方法や、N-Gram によってインデックスを作成する方法などがあります。形態素解析はインデックスが小さく検索が早いこと、N-Gram は業界用語などの特定ドメインの言葉や日本語以外にも対応できて部分一致検索が可能であることなど、双方に利点があります。 今回は Solr を使用した N-Gram 系トークナイザーについて記述します。 N-Gram 検索を行うには Solr コアの schema.xml を開いてフィールド型を定義します。 <fieldtype name="text" class="solr.textField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.CJKTokenizerFac