ElasticsearchとWordPress

閲覧数: 30(0)

(とついでに「Mediawiki」)関連情報があちこちにとっちらかっちゃったので、一旦整理する意味でここでまとめて書いてみます。まずはインストールから。現在、「Elasticsearch」のバージョンは「5」「6」「7」に分かれています。当然最新のバージョンを入れて最新の機能を使いたいところですが連携する側の対応状況も考慮する必要があります。Wordpressで使っているプラグイン「ElasticPress」の推奨バージョンは「5.2」でテストしてある一番高いバージョンは「6.3」です。次にMediawikiの「CirrusSearch」「Elastica」が対応しているのはMediawikiの1.32は「5.6.x」まで1.33からは「6.5」以上がサポートされています。ということでこのサイトで使っている「Elasticsearch」のバージョンは「5.6.5」です。マイナーバージョンの「.5」は「Sudachi」プラグインのサポート状況から決めました。(5.6.5はSNAPSHOTが提供されている)

Ubuntuのインストールはこの「リンク」先の説明通りでOKです。バージョンを指定してインストールするには以下のコマンドを使います。

apt install elasticsearch=5.6.15

バージョンを固定・非固定するには以下のコマンドです。

apt-mark hold elasticsearch
apt-mark unhold elasticsearch

インストール後にまずやるのはメモリの調整です。商用で使っているサーバーならいざ知らず、個人が趣味で使っているサーバーのメモリは多くても1GB程度だと思います。デフォルトでは2GBとなっている以下のオプションをメモリの空き容量を見て調整します。ここで指定したメモリサイズでJavaが起動します。

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms512m
-Xmx512m

日本語の形態素解析に対応したプラグインを導入しないと全文検索ならぬ一文字ずつの全語検索となってしまいます。使うプラグインは「analysis-icu」「analysis-kuromoji」「analysis-sudachi」の3つです。

-rwxr-xr-x 1 root root 8075  2月 14 01:23 elasticsearch*
-rwxr-xr-x 1 root root 2605  2月 14 01:23 elasticsearch-keystore*
-rwxr-xr-x 1 root root 2595  2月 14 01:23 elasticsearch-plugin*
-rwxr-xr-x 1 root root  223  2月 14 01:23 elasticsearch-systemd-pre-exec*
-rwxr-xr-x 1 root root 2569  2月 14 01:23 elasticsearch-translog*
-rwxr-xr-x 1 root root  367  2月 14 01:23 elasticsearch.in.sh*

プラグインのインストールには「elasticsearch-plugin」を使います。「Sudachi」はGitHubから「5.6.5」に対応したSNAPSHOTをファイルでダウンロードしておきます。以下のコマンドでインストールします。

./elasticsearch-plugin install analysis-icu

./elasticsearch-plugin install analysis-kuromoji

./elasticsearch-plugin install file:///file/location/here/analysis-sudachi-elasticsearch5.6.15-1.2.0-SNAPSHOT.zip

個人で使う場合にプロキシを経由することを考慮することは無いと思いますが、万が一プロキシを超えてプラグインをインストールしなければならないケースでは以下のようにプロキシを指定します。

ES_JAVA_OPTS="-Dhttp.proxyHost=host_name -Dhttp.proxyPort=port_number -Dhttps.proxyHost=host_name -Dhttps.proxyPort=https_port_number" bin/elasticsearch-plugin install analysis-kuromoji

使用例)
ES_JAVA_OPTS="-Dhttp.proxyHost=localhost -Dhttp.proxyPort=5865 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=5865" bin/elasticsearch-plugin install analysis-kuromoji

以上で「Elasticsearch」側の準備は完了です。次は「Wordpress」と「Mediawiki」での対応です。「Wordpress」は「ElasticPress」と「Sudachi」を使います。詳細な設定は「こちら」を参照下さい。「Mediawiki」は「Elastica + CirrusSearch」と「Kuromoji」を使います。詳細は「こちら」を参照下さい。インデックスの作成は「ElasticPress」はプラグインの設定画面から、「Mediawiki」は「こちら」の手順で行います。

【最終更新日: 2019年6月8日】
カテゴリーIT閑話, 公開タグ, , , ,
パンくずリスト詳細
2020年5月12日

テーマの「マイナーチェンジ」に伴って「パンくずリスト」の仕様を若干変更しました。一つ前のテーマではパ  続きを読む

カテゴリーを制限する
blank
2020年5月11日

過去に何度も書いた「カテゴリー制限」の話、元はと言えば初期に書かれた「非公開」の記事が原因です。トッ  続きを読む

マイナーチェンジ
blank
2020年3月23日

かれこれ一年近くほったらかしだったので、気合をいれて「テーマ変更」と思っていたのですが、、、いろいろ  続きを読む

6月の検索ワードまとめ
blank
2019年6月30日

6月の検索ワードのまとめです。 意外なところで「zabbixダウングレード」が複数回検索され、単独の  続きを読む

アクセシビリティ対策
blank
2019年6月23日

テーマカスタマイズの一環で、トップページに一覧表示されている「写真を左右交互に表示する」ようにした際  続きを読む

dockerとproxy
blank
2019年6月18日

dockerやdocker-composeをプロキシ環境下で使うのに苦労したので忘れないようにメモし  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください