商品情報
EC-CUBE 4.3の商品検索に、関連度を考慮した柔軟なキーワードマッチングとAJAX商品候補を追加します。外部検索基盤は不要で、標準テーマは自動、カスタムテーマはinputへの属性1つで連携できます。
商品名の完全な文字列だけに依存せず、検索ワード、説明、商品コード、同義語を横断して、購入意図に近い商品を関連度順に探しやすくします。
外部APIや検索サーバーを用意せず、プラグインのインストールと有効化だけで導入できます。
【主な特長】
・商品名、検索ワード、説明、表示中の商品規格コードを横断して検索
・Unicode正規化、同義語展開、部分一致、最低一致数、関連度スコアに対応
・2文字から最大8件を表示するAJAX商品オートコンプリート
・標準テーマは自動連携、カスタムテーマは data-smart-search 属性1つで連携
・外部API、SaaS、検索サーバー、APIキー、キュー、cronが不要
・公開中かつ表示可能な商品規格を持つ商品のみを候補として返却

製品紹介
EC-CUBE 4.3標準の商品検索を拡張し、入力された複数のキーワードから、より関連性の高い商品を見つけやすくするプラグインです。
商品名への完全一致だけに頼らず、検索意図に近い語が一部でも一致する商品を候補として評価します。
■ 「zip product」で検索結果の違いを確認
例えばデモ商品に対して「zip product」と入力すると、EC-CUBE標準検索では「zip」と「product」の両方に一致する商品名が必要になり、商品名に「product」を含まない「Zip Key Pouch / ジップキーポーチ」などは検索結果に出にくくなります。本プラグインでは余分なキーワードが混ざっていても「zip」への強い一致を関連度へ反映するため、「ジップキーポーチ」「ジップカードポーチ」「ミニジップカードケース」「スリムジップウォレット」など、関連する7件の商品を検索結果へ表示できます。
このように、利用者が英語・カタカナ・用途語を混ぜて入力した場合でも、商品名の完全なAND一致だけに依存しない検索体験へ改善します。
■ 固定的なAND LIKE検索を柔軟に
各キーワードを商品名だけでなく、検索ワード、一覧説明、詳細説明、商品コードと照合します。検索語グループの一部が一致する商品も候補に含め、商品名など購買意図の強い項目へ高い関連度を付けます。
■ 日本語を含むUnicode検索
Unicode正規化と大文字・小文字の統一を行い、日本語とラテン文字を同じ検索処理で扱います。アウトドア、ジャケット、防水など、日本語の同義語例も同梱しています。
■ 外部インフラ不要
検索はEC-CUBEとデータベース内で完結します。外部API、SaaSアカウント、検索専用サーバー、APIキー、キュー、cron、追加Composerパッケージは必要ありません。
■ 実用的な検索例
・「防水 アウトドア ジャケット」から、「撥水マウンテンパーカー」「レインジャケット」「トレッキングブルゾン」などを検索
・「軽量 通勤 バッグ」から、「軽量ビジネスリュック」「通勤トートバッグ」などを検索
・「赤 革 ミニ 財布」から、「レッドレザーミニウォレット」「本革コンパクト財布」などを検索
・「zip product」から、「ジップキーポーチ」「ジップカードポーチ」「スリムジップウォレット」などを検索
・「旅行 小物 収納」から、「トラベルポーチ」「ガジェットケース」「パスポートケース」などを検索
・「雨の日 自転車 バッグ」から、「防水メッセンジャーバッグ」「撥水サイクルバッグ」などを検索
・短い商品コード「SKU123」から、対象の商品規格を優先して検索
※ 実際の検索結果は、ショップに登録された商品名、検索ワード、説明、商品コードによって異なります。

AJAX商品候補と操作性
■ 2文字から商品候補を表示
入力を止めてから250ミリ秒後に候補を取得し、最大8件の商品名、画像、最低販売価格を表示します。カテゴリが選択されている場合は、対象カテゴリと配下カテゴリを考慮します。
■ キーボード操作に対応
上下矢印で候補を移動し、Enterで商品詳細へ移動できます。Escapeで候補を閉じられ、通常の検索フォーム送信も維持されます。combobox / listboxのARIA属性も付与します。
■ 公開情報だけを候補に使用
公開中で、表示可能な商品規格が1件以上ある商品だけを返します。商品名などはHTMLとして解釈せず、安全なDOM APIで表示します。候補URLと画像URLも同一オリジンに制限します。
標準テーマ・カスタムテーマへの連携
■ EC-CUBE標準テーマ
プラグインを有効化すると、標準の商品検索欄を自動検出します。テーマファイルを変更する必要はありません。
■ カスタムテーマ
商品検索のinputへ、次の属性を1つ追加するだけでオートコンプリートを有効化できます。特定のclass、id、name、formは必須ではありません。
<input data-smart-search>
この属性は商品検索キーワード欄専用です。入力内容は商品候補APIへ送信されるため、ログイン、問い合わせ、メールアドレスなどの入力欄には付与しないでください。通常のEC-CUBEテーマと同様に、プラグインのアセットと設定が読み込まれるdefault_frameを使用してください。
導入メリットと確認事項
■ 導入が簡単
追加インフラや初期データ作成がなく、プラグインを無効化すればEC-CUBE標準の検索動作へ戻ります。
■ 商品の見つけやすさを改善
長めの検索文、表記ゆれ、同義語、商品コード検索に対応し、検索結果を関連度順に提示します。
■ 安全性と負荷対策
入力長、候補件数、公開状態をサーバー側で検証し、候補APIにはIP単位で1分あたり120回のレート制限を設定しています。
■ 導入前の確認
本プラグインはLLMやベクトル検索ではなく、ローカルの字句ベース検索です。先頭ワイルドカードを含むSQL検索を使用するため、商品数が非常に多い環境では本番相当のデータ量で性能を確認してください。