Analyzerについて
検索のためのインデックスを作成する際、索引として登録するために文書を切り分ける必要があります。 Fess では、文書を単語に分解する機能を Analyzer として登録しています。 Analyzer は CharFilter、Tokenizer および TokenFilter により構成されます。
基本的に、Analyzer によって切り分けられた単位よりも小さいものは、検索を行ってもヒットしません。 たとえば、「東京都に住む」という文を考えます。 この文が「東京都」「に」「住む」というように Analyzer によって分割されたとします。 この場合、「東京都」という語で検索を行った場合はヒットします。 しかし、「京都」という語で検索を行った場合はヒットしません。
Analyzer の設定は Fess の起動時に fess インデックスが存在しない場合に app/WEB-INF/classes/fess_indices/fess.json で fess インデックスを作成して登録されます。 Analyzer の構成方法は OpenSearch の Analyzer のドキュメントを参照してください。
Analyzer の設定は検索に大きな影響を与えます。 Analyzer の変更をする場合は、Lucene の Analyzer の動きを理解した上で実施するか、商用サポートにご相談ください。