このページで
- 必要なプラグインとセットアップ
- ElasticsearchとElasticPressの紹介
- 作品紹介 WPML ElasticPress作品紹介
- コンテンツの同期とインデックス化 WPML ElasticPress
- 既知の問題
- サポートを受ける
必要なプラグインとセットアップ
以下をインストールし、有効化することから始める:
- ElasticPressプラグイン
- WPML コアプラグインと WPML String Translationアドオン
- WPML ElasticPressGlue プラグイン
WPML を初めてお使いになる方は、スタートガイドをご覧ください。
ElasticsearchとElasticPressの紹介
Elasticsearchは、検索可能なコンテンツを管理するための高速かつ正確な方法を提供します。このオープンソースのツールは、コンテンツのインデックス化と分類を行い、テキスト文書や数値データ、地理空間データなど、様々なタイプのコンテンツを分析することができます。
ElasticPress は、WordPress のウェブサイトを Elasticsearch と統合し、デフォルトのWordPress 検索、クエリ、コンテンツの関連性機能をアップグレードします。
WooCommerce ストアやコミュニティサイトなど、情報量の多いサイトをお持ちの場合は、ElasticPressをご利用ください:
- WordPress データベースの負担を軽減しながら、ほぼ瞬時に検索結果を表示する。
- 全文検索やあいまい検索を含む複雑なクエリを処理する。
- コンテンツにウェイトを追加し、クエリされた検索結果の焦点が選択したデータに合うようにする。
- 大量のデータを分析し、サイト上での顧客の行動や傾向を把握する。
ElasticPressプラグインをインストールし、Elasticsearchサーバーに接続すると、プラグインはウェブサイトのデータのインデックス作成を開始します。つまり、ウェブサイトのすべてのコンテンツ(投稿、ページ、商品など)を、Elasticsearchが素早く処理できる形式に整理します。
ElasticPressは、 ElasticPress → 特長からアクセスできる機能にバンドルされている。
ElasticPressとコンテンツを同期させる
ElasticPressは、コンテンツを作成、更新、削除すると自動的に同期し、検索インデックスを常に最新の状態に保ちます。
ElasticPress → Syncでは、2つのインデックス・モードを特長とするSync Settingsにもアクセスできる。 これらにより、WordPress サイトの現在のコンテンツを Elasticsearch にインデックスしたり、Elasticsearch インデックス内の既存のデータを削除し、WordPress サイトの現在のコンテンツでゼロから新しいインデックスを作成したりすることができます。
作品紹介 WPML ElasticPress作品紹介
WPML ElasticPressは、WPML および ElasticPress を利用したWordPress サイトで多言語検索機能を提供します。 コンテンツを原語で分析し、正確なインデックスを作成し、関連するコンテンツをユーザーが選択した言語で表示します。
WPML ElasticPressこれは、言語固有のユニークなインデックスを生成することによって実現される:
- 関連文書:各インデックスには、翻訳可能として設定されたすべての投稿タイプの特定言語への翻訳が含まれています。
翻訳があれば表示する、またはデフォルト言語にフォールバックするように設定された投稿タイプでは、インデックスにはその言語の翻訳とデフォルト言語の投稿が含まれます。 翻訳可能でない投稿については、各言語インデックスにすべての項目のコピーが含まれる。
- 言語固有のドキュメント分析:言語インデックス内のすべてのドキュメントは、ツール、ストップワード、ステミングを使用して、その言語の分析と同期化を受ける。 これには、デフォルト言語での投稿のコピーも含まれる。
- 検索結果のプール:各言語インデックスは、フロントエンドの検索リクエストや関連投稿リストなどのための潜在的な検索結果のプールを提供します。
ElasticPressの特長
現在 WPML ElasticPressは以下のElasticPressの機能をサポートしています:
- フロントエンド検索の投稿検索
- ElasticPressが提供するウィジェットを使用した関連投稿
- バックエンド検索の条件、コメント、ユーザー
入門編 WPML ElasticPress
そのため WPML ElasticPressをインストールした後、またはバージョン1.0から2.0にアップデートした後に投稿のインデックスを再作成することをお勧めします。 WPML ElasticPressのバージョン1.0から2.0に更新した後、あるいは WPML ElasticPress.
サイトの規模が大きい場合、この処理に数時間かかることがあります。
これは、WordPress 管理者または次のコマンドを使用して行うことができます:
wp wpml_elasticpress sync --setup --post-type=post
コンテンツの同期とインデックス化 WPML ElasticPress
WPML ElasticPressは、ElasticPress → Syncの Syncダッシュボードと直接統合します。プラグインは単一の同期プロセスを実行する代わりに、多言語サイトの各言語ごとに複数の同期をトリガーします。
投稿を作成、修正、削除するたびに、関連するコンテンツが自動的に同期されます、 WPML ElasticPress自動的に関連コンテンツが同期されます。 変更されたコンテンツの言語または投稿タイプの翻訳設定に基づいて、関連するインデックスを更新します。
WP-CLIによるインデックス作成
多くのコンテンツをインデックスする大規模な多言語ウェブサイトをお持ちの場合、コマンドラインインデックスを好むかもしれません。 WPML ElasticPressには、既存のWP elasticpressコマンドを拡張する独自のCLIコマンド、wp wpml_elasticpress
が含まれています。 --post-lang
、同期する言語を指定するオプションが追加された。 カンマで区切って複数の言語を列挙することができる。 例えば、wp wpml_elasticpress sync –post-lang=en,es
は英語とスペイン語のコンテンツのみを同期する。
便利なコマンドには次のようなものがある:
wp wpml_elasticpress sync –setup
:既存のインデックスをすべて削除し、すべてのコンテンツのインデックスを再作成する。wp wpml_elasticpress sync --per-page=200
:すべてのコンテンツを、ElasticPressで設定されているデフォルトの350アイテム/バッチではなく、200アイテム/バッチで同期します。wp wpml_elasticpress sync –post-type=post –post-lang=en,pt-pt
:特定の言語の投稿のみをインデックスする。 この場合は英語とポルトガル語だ。 このコマンドの詳しい使い方は後述する。
特定の言語からの投稿のみをインデックス化する
また WPML ElasticPressglueプラグインは、特定の言語の投稿だけをインデックスさせることもできます。 そのためには
- 指定した言語(この場合は英語)の投稿をインデックス化し、既存のインデックスをすべて削除するには、
wp wpml_elasticpress sync --setup --post-type=post --post-lang=en
コマンドを使用する。 - 今、あなたのサイトのフロントエンドをチェックすると、英語サイトの検索結果には英語の投稿しか表示されない。 言語を切り替えると、検索結果は空になるはずだ。
さらに他の言語のインデックスを作成したい場合は、ステップ2を繰り返す。 そうしないと、すでにインデックス化されている投稿を削除することになる)。
例えば、こんな使い方ができる: wp wpml_elasticpress sync --post-type=post --post-lang=fr
既知の問題
WPMLは、この プラグインと問題なく機能しますが、 現在取り組み中のマイナーな問題があります。 両プラグインとも頻繁にアップデートされるため、これは予想されることです。
現在未解決の問題:
このプラグインのために以前解決された全ての既知の問題も検索できます。
サポートを受ける
多言語サイトでElasticPressを使用する際にヘルプが必要な場合は、WPMLのサポートフォーラムをご覧ください。