月別アーカイブ: June 2021

読み込み中
  1. Magento Quality Patchesを使ってパッチ適用をする

    Magentoでサイトを構築・運用する際に、頭を悩ませる問題の一つが「アップデート」です。
    アップデートを必要としないソフトウエアは存在しないと言って良いくらい、多くのソフトウエアでは日々アップデートが開発・提供され続けています。

    Magentoももちろん例外ではなく、これまでも定期的に新しいバージョンが提供され続けてきました。
    現在では概ね3ヶ月に1度アップデートが行われる運用になっており、2021年6月現在の最新バージョンは

    • 2.3.7
    • 2.4.2-p1

    となっています。

    公開されているリリース予定では、次のリリースは8月10日頃となっており、現行バージョンのリリースからちょうど3ヶ月後となっています。

    アップデートするか、パッチバージョンで凌ぐか

    現在のMagentoのリリース体系は、

    • 純粋なアップデート
    • セキュリティ修正のみを含んだパッチリリース

    の2つに分けられています。
    パッチリリースはバージョンに「-p1」のようにパッチリリース回数が明記されているので、純粋なアップデートと簡単に区別が付きます。

    純粋なアップデートは、

    • セキュリティ修正
    • セキュリティ修正以外の不具合修正
    • 機能改良
    • 仕様変更

    などが含まれ、かなり大規模な内容となっています。
    特にセキュリティ修正以外の変更点の中には、それ以前のバージョンと挙動が大きく変わるものが含まれていることがあります。
    検証が不十分なままに本番反映を行ってしまうと大規模な障害を引き起こす可能性もあるため、十分に動作検証を行う必要があります。

    パッチリリースはMagento2.3系の途中で提供が開始されたリリースで、原則として各バージョン1回のみ提供されます。
    このリリースにはセキュリティ修正のみが含まれるため、純粋なアップデートよりも影響範囲が

    もっとみる »
  2. Magento2.3/2.4で日本語検索を良くするには

    Magentoで構築した日本語向けサイトでは、次のような問題が頻発します。

    • 商品検索が意図した結果ではない

    この問題は、Magento Open SourceでもAdobe Commerceでも共通して発生します。
    もちろん構築時にサイトの特性に合わせた調整がしてあれば回避可能ですが、何も考えずに構築した場合は、高確率でトラブルが発生します。

    なぜ、Magentoの商品検索はイケてないのか?

    Magentoの商品検索は、歴史的に次のような段階を経てきました。

    1. MySQLのLike検索
    2. Apache Solrを使用した全文検索
    3. MySQLの全文検索
    4. Elasticsearchを使用した全文検索

    MySQLのLike検索

    Magento1.xで主に使用されていた実装です。
    他のアプリケーションでもよく使用されるものですが、パフォーマンスがお世辞にも良いとはいえませんでした。
    データベースの性質上、部分一致のLike検索はインデックスが使用できないため、商品件数が増えるとパフォーマンス劣化が起こりやすい問題を抱えていました。

    Apache Solrを使用した全文検索

    主に有償版のMagento1.xに提供されていた実装です。
    Apache Solrを検索エンジンとして利用することで、MySQLのLike検索よりも制度の高い検索機能が実現可能でした。
    旧Magento Community Editionの場合はサードパーティの実装を使用することで、同様の検索機能を提供可能でしたが、サードパーティによって実装方針が異なるため、機能差が相応に見られました。

    MySQLの全文検索

    Magento2.0 - 2.3の標準です。
    MySQLに標準で用意されている全文検索機能を用いて検索を行う仕組みです。
    Like検索に比べ、全文検索インデックスが利用できるぶんだけ検索速度面では優位ですが、

    • 2文字以下の単語にヒットしない
    • 日本語の構文解析能力があまり高くない
    もっとみる »