日本語検索時の 簡易CJK処理 に変わるindexes方法
Posted by Anonymous on November 11, 2010 at 10:41am
DrupalのSearch moduleで日本語を検索しようとすると、ちゃんと検索結果が返って来ないことがあります。
これはノードをSearch moduleが文字列を半角スペース毎にインデクスしているからです。
これに対する簡易的な処理として簡易CJK処理(日本語環境だと標準でON)という機能があります。
簡易CJK処理は「単語の最少文字数」を設定し連続して重なり合う文字列へ分割します。
「単語の最少文字数」設定が 3 の場合、「こんにちは」という文章は「こんに」「んにち」「にちは」のように分割され、インデックス付けされます。
ですが、単にぶつ切りにしたものをインデクスするので、
- 検索精度が悪い、
- データベースが意味のないキーワードで肥大化する。
- 検索単語の最小値が「単語の最少文字数」になってしまう。
という問題があります。
この日本語の検索問題に対して以下何れかの方法で対応しようと思いますが、
意見やアイディアなどあればコメントをお願いします。
・MeCab(メカブ)を使用した形態素分析
公式ページ http://mecab.sourceforge.net/