この記事では、Magento 2 カスタム検索エンジンを追加する方法をレビューします。
デフォルトでは、Magento 2 は検索操作に MySQL フルテキストを使用していますが、MySQL は複雑なクエリを伴う大量のデータを処理するのに十分でしょうか?答えは「いいえ」です。競争の激しい世界では、スピードが他の競合他社に対して大きな優位性をもたらす可能性があります。リアルタイムで検索される大量のデータがある場合、MySQL はパフォーマンスが低下する可能性がありますが、少量のデータであれば MySQL でも問題ありません。では、Magento 2 の MySQL 検索エンジンを他の検索エンジンに置き換える方法を見てみましょう。
Magento 2 のカスタム検索エンジンの作成方法
MySQL 検索エンジンを切り替えるオプションはいくつかあります。例えば、Elasticsearch、Solr 検索、Amazon Cloud Search などがあります。しかし、既に構築された高度な検索エンジンを置き換える話をしていますが、Magento 2 のコード構造の素晴らしい点は、高度にスケーラブルであり、新しい技術と簡単に置き換えることができることです。では、MySQL 検索エンジンを他の検索エンジンに切り替える方法を見てみましょう。例えば、MySQL 検索をElasticsearch に置き換えたいとします。
Elasticsearch の使用
ここでは、すでに Magento 2 のモジュールを作成する方法を知っていると仮定していますので、始めましょう:
di.xml ファイルの作成:
di.xml ファイルを app/code/CompanyName/ModuleName/etc/di.xml に作成し、次のタイプ設定を追加します:
1
2
3
4
5
6
7
|
<type name=“Magento\Search\Model\Adminhtml\System\Config\Source\Engine”>
<arguments>
<argument name=“engines” xsi:type=“array”>
<item name=“elastic” xsi:type=“string”>Elastic</item>
</argument>
</arguments>
</type>
|
この記事では、Magento 2カスタム検索エンジンの追加方法をレビューします。
デフォルトでは、Magento 2はMySQLのフルテキスト検索を使用していますが、MySQLは複雑なクエリと大量のデータを処理するのに十分でしょうか?答えはノーです。競争の激しい世界では、スピードが他の競合よりも大きなアドバンテージとなります。大量のデータをリアルタイムで検索する必要がある場合、MySQLは不十分です。しかし、少量のデータであれば、MySQLは問題なく動作します。それでは、Magento 2でMySQL検索エンジンを置き換える方法を見てみましょう。
Magento 2でカスタム検索エンジンを作成する方法
MySQL検索から切り替えるためのオプションはいくつかあります。例えば、Elasticsearch、Solr検索、Amazon Cloud Searchなどがあります。しかし、すでに構築された高度な検索エンジンを置き換えるのは大変ですが、Magento 2のコード構造は非常にスケーラブルで、新しい技術に簡単に置き換えることができます。ここでは、MySQL検索エンジンをElasticsearchに置き換える方法を見てみましょう。
Elasticsearchの使用
Magento 2でモジュールを作成する方法は既に知っていると仮定しますので、始めましょう:
di.xmlファイルを作成する:
app/code/CompanyName/ModuleName/etc/di.xmlのパスにdi.xmlファイルを作成し、以下のタイプ構成を追加します:
1
2
3
4
5
6
7
|
<type name=“Magento\Search\Model\Adminhtml\System\Config\Source\Engine”>
<arguments>
<argument name=“engines” xsi:type=“array”>
<item name=“elastic” xsi:type=“string”>Elastic</item>
</argument>
</arguments>
</type>
|
上記のタイプ構成では、”Magento\Search\Model\Adminhtml\System\Config\Source\Engine” クラスのengines配列に “elastic” という文字列を挿入しています。このクラスは、Magento 2の stores > configuration > catalog > storefront > catalog search > search engineで検索エンジンのオプションをレンダリングする役割を担っています。
di.xmlにエントリを追加すると、検索エンジンのセレクトボックスにelasticが表示されるようになります:
このようにして、MySQL検索エンジンをelasticに変更することができます。次に、Elasticsearchサーバーにデータをインデックスし、そこから検索するための独自のロジックを追加する必要があります。詳しくはこちらをご覧ください。
さらに詳しくは、Magento 2 Custom Search Engineの動画をご覧ください。
Magento 2 Custom Search Form Pluginの使用
簡単な方法としては、Expertrec Site Search Moduleを使用することです。
Expertrec Site Searchエクステンションは、高速検索オートコンプリート、スペル修正、ファセットとフィルター付きのインスタント検索結果ページを追加し、ユーザーが検索バーを通じて製品を迅速に見つけるのに役立ちます。検索結果は、ユーザーが検索バーに入力するたびに表示されます。デフォルトのMagento検索に視覚的な検索体験を追加したい場合に、このエクステンションを使用できます。
機能
- 超高速検索 – Expertrec Site Searchを使用すると、ユーザーが最初の検索文字を入力するとすぐに検索結果が表示されます。バックエンドの低遅延サービングシステムのおかげで遅延はありません。
- スペル修正– ユーザーがスペルミスをしても心配ありません。私たちの検索エンジンは、自動的に最も近い製品マッチに修正します。
- 検索における製品画像– サイト検索ユーザーに視覚的な検索体験を提供します。Expertrec Site Searchエクステンションは、検索結果とともに検索UIに製品マッチを表示します。
- ファセットとフィルタリング– ユーザーはファセットとフィルター機能を使用して、頭に浮かぶ製品を簡単に見つけることができます。
- 99.9%の稼働率– Expertrec Site Searchエクステンションの99.99%の稼働率を約束します。
- 検索分析– ユーザーがサイト上で何を検索しているかのインサイトを得ることができます。トップ検索クエリ、ゼロ結果クエリなどの統計がExpertrecコントロールパネルに表示されます。
- リアルタイム在庫同期– 当エクステンションはリアルタイムでMagentoストアと同期し、ウェブサイトの製品を検索エンジンと同期させます。
- サポート– サポートチームは、検索関連の問い合わせに対応しています。
Magento 2 カスタム検索結果ページの追加方法
簡単に言えば、ストアには常にユーザーが望む製品を探すために使用するツールがいくつかあります。そして、検索はその主なツールです!Magento 2は柔軟な検索チューニングのための機能を提供しており、顧客が必要な製品を見つけて購入できるようにしています。実際の検索エンジンだけでなく、検索結果が表示される検索結果ページも同様に重要です。
検索はテキスト属性によって実行され、これらは検索で使用するように構成されています。結果の関連性は、Stores > Attributes > Productにある検索重みパラメータおよび検索設定で使用する設定に基づいて計算されます。
Magento 2では、検索オートコンプリート機能はSuggested Termsと呼ばれます。このオプションのおかげで、ユーザーには既存の検索用語と少なくとも1つの結果が利用可能な(空ではない)検索用語が提案されます。これにより、Magento 2は検索クエリを変更したり、訪問者がショッピングプロセスに満足したままでいるように検索をリアルタイムで完了させます。
検索全体が満足いかないことがあり、カスタマイズするのはかなり難しい場合があります。コードの編集に非常に慣れていない限り、検索結果ページの外観を変更するのも挑戦的な作業です。
Magento 2 カスタム検索結果プラグインの使用
Magento 2 では、ExpertRecサイト検索エクステンションをマーケットプレイスからインストールするだけで済みます。これにより、デフォルトの検索が自動的に置き換えられ、ファセットを内蔵した検索バーが追加されます。プラグインに付属のExpertrecダッシュボードでさらにカスタマイズできます。
ダッシュボードでは、検索ランキングや検索バーのUIをカスタマイズすることができます。さらに、検索結果ページの外観も変更可能です。これにより、コーディングなしで迅速にカスタマイズできます。
Magento 2 カスタム検索サービス
プラグインの方法がうまくいかない場合はどうでしょうか?それでも、Magentoストアに検索を追加する方法があります!これにより、上記の方法と同様の機能が提供され、カスタム検索結果ページも含まれます。
Expertrecを使用してMagento 2の検索エンジンを簡単に作成することができ、月額わずか9 USDから利用できます。手順は以下の通りです:
- https://cse.expertrec.com?platform=cseにアクセスします。
- Magento 2のウェブサイトURLを入力します。
- Magento 2のサイトマップURLを入力します。
- クロールが完了するまで待ちます。
- 検索ボックスのコードをMagento 2のウェブサイトに追加します。
- 有料プランにアップグレードしてライブにします。