機能

Magento2.4+とElasticsearch

Intro

Magento 2.4は、MySQLをメインの検索またはリストエンジンとして使用することからElasticsearchに完全に切り替えました。
Elasticsearchは、ストア内の1つまたは複数の商品の検索と一覧表示に使用されます。 顧客がカテゴリページを開くと、Elasticsearchによってフィルタリングおよびソートされた結果が表示されるため、Elasticsearchは最新のMagentoストアを実行するために必要なサービスになります。 そのサービスがなければ、Magentoはカテゴリページに製品を表示できません。

Elasticsearch必須化

Magento 2.4以降、すべてのインストールは、Elasticsearchをカタログ検索ソリューションとして使用するように構成する必要があります。Magento2.4ではElasticsearchが必須になりました。
もともとMagentoの検索機能は、MySQLのLike検索から始まり、MySQLの全文検索、Apache Solr(Enterprise Editionのみ)という形で進化してきました。
Magento系ではMySQLの全文検索が標準で、Elasticsearchは利用できたものの、あくまでも任意で利用するものでした。

これが2.4ではMySQLによる全文検索が廃止され、Elasticsearchのみに一本化されたわけです。

Elasticsearchの長所と短所

Magento2.4で標準化されたElasticsearchですが、こちらにも当然長所と短所があります。それぞれ整理してみましょう。

長所

Magentoがこのような大きな変更を加えたのはなぜですか? いくつかの主要なポイントについては、Magentoのドキュメントを参照してください。

ここでの重要なポイントは、階層化されたナビゲーションフィルタリングクエリを実行する場合に、ElasticsearchがMySQLよりも優れたパフォーマンスを提供するかどうかです。 Elasticsearchは、製品の属性を使用して製品をフィルタリングし、サーバーリソースの使用量を減らして、より速く利用可能な製品の総数を返すことができます。

メリット
検索に使用するインデックスの調整ができる
検索キーワードに対する調整ができる
Elasticsearch単体での水平分散ができる
言語別の最適化ができる

全文検索エンジンならではの機能をフルに活用することによって、MySQLよりも質の高い検索機能が提供できます。
また、水平分散が容易にできるため、より多くの検索処理を捌くことができます。

短所

デメリット
別途専用のサーバーが必要
検索結果に対する検証がやや面倒
検索インデックスの調整には専門知識が必要
日本語や中国語向けにはさらに踏み込んだ調整が必要

2番目以降の点については、標準機能に不満がなければ特に問題にしなくても構いませんが、1番目はサイトの維持コストに直接のしかかってきます。
Magento系全体を通して言えることではありますが、Magento自体が中〜大規模サイトをターゲットにしている余波だと考えれば合点がいきます。

サポートされているElasticsearchバージョン

Magento 2.4は、Elasticsearchバージョン2.x、5.x、および6.xのサポートも終了しました。

このバージョンをお持ちの場合は、Magentoをアップグレードする前にElasticsearchをアップグレードする必要があります。 また、Elasticsearchを最新バージョンにアップグレードしないでください。Magento2.4は公式には7.6.xのみをサポートしており、たとえば7.8.xでは正しく機能しない可能性があります。

Elasticsearchエンジンのアップグレードプロセスについては、こちらで説明しています。 2.x、5.x、6.xからアップグレードするには、Elasticsearchサービスを再起動する必要があります。 したがって、このプロセス中にダウンタイムが発生する可能性があります。

最終的な考え

Elasticsearchは、その使用によりMagentoストアの速度と安定性が大幅に向上するため、堅固なソリューションです。 Magento 2.4にアップグレードする前に、Elasticsearchがインストールされていること、およびMagentoが必要とするバージョンと同じであることを確認する必要があります。

Elasticsearchには、そのニュアンスと広範な構成設定があります。 このソリューションの経験があまりない場合は、本番環境で更新をロールする前に、テスト環境ですべてを再確認することをお勧めします。

Magento 2.4へのバージョンアップや構築・移行をご検討の場合は、Magento 構築・リニューアル支援にご相談ください。

よくある質問

Magento 2.4でElasticsearchが必須になったのはなぜですか?

Magento 2.4からMySQLによる全文検索が廃止され、Elasticsearchのみに一本化されました。理由は、階層ナビゲーションフィルタリングにおいてElasticsearchがMySQLより高いパフォーマンスを発揮し、サーバーリソース消費を抑えながら高速に絞り込み結果を返せるためです。

Magento 2.4でElasticsearchを導入する際のデメリットは何ですか?

Elasticsearch専用の別途サーバーが必要になるためサイト維持コストが増加します。また日本語・中国語などの多バイト言語に対応するには形態素解析プラグインなど追加の専門設定が必要で、インデックス調整には一定の専門知識が求められます。

Magento 2.4にアップグレードする前にElasticsearchのバージョンで確認すべきことは何ですか?

Magento 2.4が公式サポートするElasticsearchは7.6.x系のみです。2.x・5.x・6.x系はサポート終了しており、7.8.x以降でも正常に動作しない場合があります。アップグレード前に必ずElasticsearchのバージョンを確認し、必要であれば先にElasticsearchをアップグレードしてください(ダウンタイムが発生する可能性あり)。

Maruweb.co.ltd

越境ECプラットフォームMagento2、オリジナルCMS、MovableType、オリジナルシステムを提供するWebコンサルティング、中国向けWebマーケティングからWeb制作・運営管理までのWeb総合ソリューション企業。