Kumihimoは、WordPressの標準の検索を全文検索エンジンのElasticsearchを利用した検索に置き換えるプラグインです。Kumihimoは、Fantastic ElasticSearchプラグインをベースにしており、Fantastic ElasticSearchに対して以下のような変更を加えています。
Kumihimoの利用手順は以下のようになります。ここでは、形態素解析器にKuromojiを使用し、Elasticsearchの検索タイプとしてmatchクエリーを指定した場合の例を説明します。
まず、Elasticsearchサーバーをセットアップします。Elasticsearchのセットアップ手順については、他にも色々紹介しているページがありますので、ここでは割愛します。
Kurumojiは辞書としてIPADIC(IPA辞書)を使っています。IPADICだけでもかなり用は足りるのですが、IPADICには新しい単語や専門用語は収載されていないので、ユーザー辞書を作成します。Kuromojiのユーザー辞書はCSVファイルでフォーマットは、以下のようになります。
単語,形態素解析後の単語,読み,品詞
具体的にはこんな感じです。
胃食道逆流症,胃食道逆流症,イショクドウギャクリュウショウ,名詞
異所性妊娠,異所性妊娠,イショセイニンシン,名詞
イソジン,イソジン,イソジン,名詞
3. 類語辞書の作成
類語辞書も作成します。類語辞書はCSVファイルでフォーマットは以下のようになります。
単語,単語,単語,単語
具体的にはこんな感じです。
hiv,ヒト免疫不全ウイルス,hiv感染症,後天性免疫不全症候群,aids
mers,中東呼吸器症候群
rsウイルス,rsウイルス感染症
ユーザー辞書と類語辞書を、elasticsearch.ymlファイルで指定します。具体的にはこんな感じです。
index:
analysis:
tokenizer:
ishamachi_tokenizer:
type: kuromoji_tokenizer
mode: search
user_dictionary: ishamachi_dic.csv
filter:
ishamachi_synonym:
type: synonym
synonyms_path: ishamachi_synonym.csv
analyzer:
default:
type: custom
tokenizer: ishamachi_tokenizer
filter: [
kuromoji_part_of_speech,
kuromoji_stemmer,
lowercase,
cjk_width,
ishamachi_synonym
]
WordPressのプラグインの新規追加画面からKumihimoプラグインをインストールします。キーワード入力欄にkumihimoと入力して検索します。
Enable Searchにチェックを入れると、WordPressの標準検索がElasticsearchを使った検索に入れ替えられます。チェックを外せば、WordPressの標準の検索に戻ります。
Enable Match Queryにチェックを入れると、検索タイプとしてmatchクエリーが採用されます。
Server URLを指定します。
Index Nameを指定します。
全文検索の対象としたいフィールドにチェックを入れます。
初回や、全文検索のインデックスを再作成したい場合には、Re-index Dataボタンをクリックします。
新たな投稿については自動的に全文検索のインデックスに追加されます。
以上