ElasticsearchとWordPress

閲覧数: 41(1)

(とついでに「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閑話, 公開タグ, , , ,
ページナビのテキスト
2021年4月1日

記事ページの下部に前後の記事(投稿)へのリンクが表示される仕様なのだが、「カテゴリーに制限」をかけて  続きを読む

閲覧数まとめ
blank
2021年3月25日

閃きついでに総合計と週合計をフラグで制御する方式に変更してみた。これまではベタに関数をまるまるコピー  続きを読む

閃きは大事だw
blank
2021年3月23日

このサイトは、あくまでもCMSであるWordPressの構築やクラウドであるAWSの運用ノウハウ取得  続きを読む

ElasticPress 3.5.6
blank
2021年3月19日

マイナーバージョンアップにも関わらず、検索スコアリングのパラメータが微調整された結果、期待する検索結  続きを読む

管理画面を制限する
blank
2021年2月22日

このサイトではネット上のさまざまな攻撃からの防御のため、Wordfenceプラグインの無料版を使用し  続きを読む

検索精度を高める
blank
2020年11月1日

検索ネタを連発するのはElasticsearchやElasticPressがバージョンアップした時の  続きを読む

スポンサーリンク

コメントを残す

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