EC-CUBEの検索機能|標準の商品検索が照合する範囲と、カスタマイズが必要になる範囲

EC-CUBEの検索機能を調べると「標準は最低限なので強化が必要」という説明が多く見つかります。ただし「最低限」がどこまでを指すのかは、実際にどの項目を照合しているかを確認しないと判断できません。
クマひよ工房は、EC-CUBE用のプラグインを2系から4.3系まで開発・販売しています。この記事では、EC-CUBE 4.3のソース(ProductRepositorySearchProductType)で確認した標準の商品検索の範囲と、設定だけで対応できる部分・カスタマイズが必要になる部分を整理します。

標準の商品検索が照合している3つの項目

フロントのキーワード検索(ProductRepository::getQueryBuilderBySearchData)が照合するのは、次の3つだけです。

  • 商品名
  • 検索ワード – 管理画面の商品登録画面にある入力欄(search_word
  • 商品コード – 商品規格に登録されたコード

商品説明(一覧・詳細)は検索対象に含まれません。説明文にだけ書いた素材名や用途、シーンの言葉で検索しても、その商品は結果に出てきません。説明文を充実させているサイトほど、この差は大きくなります。

そのほかの標準の挙動は次のとおりです。

  • キーワードは半角・全角のスペースで区切られ、すべてを含む商品だけが残ります(AND)。候補を広げる動きはしません
  • カテゴリを指定した場合、その配下の子カテゴリに属する商品も対象になります
  • 並び順は価格の昇順・降順と新着順。指定が無い場合は商品IDの降順です

ひらがなとカタカナは吸収されるが、漢字の表記ゆれは残る

照合は NORMALIZE() を通して行われます。MySQLでは utf8_unicode_ci での比較、PostgreSQLではひらがなをカタカナに変換してからの比較になり、大文字小文字やひらがな・カタカナの違いは吸収されます。

吸収されないのは、文字列そのものが違うケースです。

  • 漢字とかなの違い(「鞄」と「かばん」)
  • 送り仮名や表記の揺れ(「引出し」と「引き出し」)
  • 旧品番、通称、略称

お客様が使う言葉は、店舗が商品名に付けた言葉とは限りません。「検索しても出てこない」という声の多くは、機能の不足ではなくこの食い違いです。

カスタマイズせずに対応できる範囲 – 検索ワード欄

「検索ワード」は照合対象に含まれているため、ここに言葉を足すだけで、本体を触らずに検索へ乗せられます。商品名を変えずに済むのが利点です。

  • 漢字・ひらがな・カタカナの別表記
  • 旧品番、通称、業界での呼び方
  • 説明文にしか書いていない素材名・用途・贈る相手やシーン

商品数が多い場合は、商品CSVに「検索ワード」の項目があるため一括で更新できます。
検索機能の追加を検討する前に、検索ワード欄を埋めた状態でも0件になるかを確認してください。ここで解決するのであれば費用はかかりません。

プラグインやカスタマイズが必要になる範囲

フロントの検索フォーム(SearchProductType)が持つ条件は、カテゴリとキーワード、そして表示件数と並び順だけです。次のものは標準では実現できません。

  • 商品説明文を対象にした検索
  • 価格帯、在庫あり、規格(サイズ・色)での絞り込み
  • 商品タグやスペック項目での複合絞り込み
  • 入力途中の候補表示(サジェスト)
  • 「おすすめ順」「売れている順」など独自の並び順

検索条件を1つ増やす場合でも、検索フォーム、検索クエリ、商品一覧のテンプレートの3か所に手が入ります。並び順を追加する場合は、これに並び順のマスタデータが加わります。画面上は小さな追加でも、変更箇所は分散します。
クマひよ工房では、こうしたEC-CUBEのカスタマイズを30,000円(税抜)から承っています。

検索窓に言葉を入れられないお客様がいる

検索機能を強化しても拾えないのが、探している商品の名前を知らないお客様です。「どういった商品を買えば良いかわからない」という声は、商品が多機能だったり、オプションが複雑だったりするお店ほど出てきます。この層は検索窓に何も入力しないまま離脱するため、検索キーワードのログにも残りません。

クマひよ工房が「質問によるカテゴリ絞り込みプラグイン」を作ったのは、この層に向けた導線が標準に無いためです。管理画面で質問と回答を用意し、最後の回答に紐づけたカテゴリへ誘導する形で、お客様側の言葉ではなく店舗側の質問から商品にたどり着かせます。事務用品、農園用品、贈答品などのECサイトで導入されています。

検索で商品が見つからない原因が「言葉の食い違い」なのか「そもそも言葉が出てこない」なのかで、打つ手は変わります。前者は検索ワード欄と検索条件の追加、後者は質問形式の絞り込みのような別の導線です。

最後に

EC-CUBEの検索機能への対応は、標準が何を照合しているかを確認し、検索ワード欄で埋まる範囲を先に埋めてから、足りない条件だけをカスタマイズする順序が費用に見合います。
検索エンジンからの集客についてはEC-CUBEのSEO対策で整理しています。