ElasticPress日本語設定2019年版
ElasticsearchをWordPressで使用するために導入しているプラグイン「ElasticPress」最新の使用状況をまとめてみました。大きな方針変更として、これまで「analysis-kuromoji」を使用していたトークナイザーを「Sudachi」に変更しました。まだ基本的な使い方しかしていないので何とも言えませんが、これから徐々にカスタマイズと言うか方向性を合わせて行きたいと思います。という事でとりあえず基本設定編です。
プラグインの導入はWordPreeのプラグインメニューから基本通りに行います。「ElasticPress」で検索して新規追加するだけです。WordPressと同一サーバー上にElasticsearchが稼働しているのであれば、設定で「http://localhost:9200」と設定することで接続は完了します。このサイトは「前回の記事」でElasticsearchを分離したので「http://分離したサーバーのアドレス:9200」と設定しています。この際に処理単位がデフォルトでは350文書毎になっていますが、リモート接続の場合はもう少し小さい数字にした方がタイムアウトエラーを起こしにくくなります。個人的には100以下が推奨です。
'default' => array( // 'tokenizer' => 'standard', // 'filter' => array( 'standard', 'ewp_word_delimiter', 'lowercase', 'stop', 'ewp_snowball' ), // 'char_filter' => array( 'html_strip' ), 'tokenizer' => 'sudachi_tokenizer', 'filter' => array( 'part_of_speech', 'baseform', 'ja_stop', 'normalizedform', 'standard', 'ewp_word_delimiter', 'lowercase', 'stop', 'ewp_snowball' ), 'char_filter' => array( 'html_strip', 'icu_normalizer', 'kuromoji_iteration_mark' ), --- 中略 --- 'filter' => array( 'part_of_speech' => array( 'type' => 'sudachi_part_of_speech', 'stoptags' => array( '助詞', '助動詞', '補助記号,句点', '補助記号,読点' ), ), 'baseform' => array( 'type' => 'sudachi_baseform', ), 'ja_stop' => array( 'type' => 'sudachi_ja_stop', 'stoptags' => array( '_japanese_', 'は', 'です' ), ), 'normalizedform' => array( 'type' => 'sudachi_normalizedform', ),
基本設定では変更箇所は「tokenizer」の部分です。「standard」から「sudachi_tokenizer」に変更します。この設定では辞書の導入先を指定していないためデフォルトの値が使用されます。「/etc/elasticsearch/sudachi」フォルダに「system_core.dic」をダウンロードしておきます。辞書の最新版は「このリンク」から入手可能です。
Elasticsearch側のプラグインは「Sudachi」からソースを入手してビルドするのが一般的なようですがElasticsearchのバージョンを合わせることが可能であればSNAPSHOT版をダウンロードすることも可能です。今回は5.6.15版のSNAPSHOTに合わせてElasticsearchもダウングレードしました。ダウングレード自体はaptで実行しますが、その後更新されないようにするためホールドする必要があります。
apt install elasticsearch=5.6.15 apt-mark hold elasticsearch
ダウンロードしたSNAPSHOT版sudachiはElasticsearchのユーティリティでインストールします。
/usr/share/elasticsearch/bin/elasticsearch install file:///analysis-sudachi-elasticsearch5.6.15-1.2.0-SNAPSHOT.zip
書いてて思ったけどWordPressのプラグイン入れる前にElasticsearchのプラグインやった方がいいかもしれない、、、まぁその辺は好みでやって下さいw
なんで「Sudachi」を選んだのかってのは「Elasticsearch Sudachi」でググるといろいろ出てくると思うのでご自由にどうぞ。ここではSudachiをElasticPressと組み合わせてWordPressで使いたいって時のTIPSを紹介いたしました。
「参考にしたサイト」