Splitterの導入について
ここでは、CJKSplitterを使用するまでの作業を書いてみます。
前提条件として、JapaneseCodesがインストールされていることを確認してください。
$ python
>>> import japanese
>>>
問題なくimportできれば、エラーははきません。
次に、zope.orgからCJKSplitterをDLしてきます。下記のURLにおいてあると思います。
http://www.zope.org/Members/panjunyong/CJKSplitter
今回導入したversionは、0.7でした。DLして、解凍してできたフォルダをInstanceのProdactsフォルダに入れて、Instanceをリスタートします。
ZopeのProductsになるので、Plone上でのインストールは行いません。インストールされたかの確認は、ZopeのControl_PanelのProducts ManagementにCJKSplitter0.7が表示されていれば、インストールは完了です。
次に、Ploneが使用するSplitterを変更します。
portal_catalogを開き、Contentsタブを開いて、[ZCTextIndex Lexicon]を追加します。ID・Titleは、何でもかまいません。今回は、わかりやすいように、[cjk_lexicon]とつけました。
次に、Indexタブを開いて、[Discription]・[SearchableText]・[Title]を一度削除して、[ZCTextIndex]で新たに作成します。ここで、使用するLexiconを[cjk_lexicon]を選択して追加します。
すべて、作成し終えたら、作った3つにチェックを入れて、[Reindex]ボタンをクリックして、新たにIndexを作り直します。
これで、作業は完了です。
あとは、サイトにアクセスして、実際に検索をしてみてください。多少HIT率が上がっていると思います。
このSplitterは、辞書を使用せずに、形態素解析で行うため、ある程度の精度しか出せません。ちゃんと辞書のメンテをするのであれば、MeCabを使用したSplitterを使うことをお勧めします。