検索の仕組み
まるっと検索のロジックを説明します。
まるっと検索は前方一致でも部分文字列一致でもありません。日本語を語として切り出し、表記の違いを吸収したうえで照合します。
1. 正規化で表記の揺れを消す
照合の前に、検索語と商品テキストの両方へ同じ変換をかけます。
| 変換 | 例 |
|---|---|
| NFKC正規化 | WD650 → wd650 |
| 大文字・小文字 | WD650 → wd650 |
| 全角・半角スペース | 連続空白を1つに |
| 旧字体の統合 | 髙 → 高、﨑 → 崎、澤 → 沢 |
旧字体は16文字を統合しています(髙﨑澤齋齊國櫻眞壽廣榮濵濱邊邉德)。人名や屋号を含む商品で役立ちます。「髙島屋」と「高島屋」を書き分けているカタログでも、どちらで検索してもヒットします。
2. 形態素解析で日本語を語に切る
日本語は単語の間に空白がありません。まるっと検索は形態素解析器(lindera + IPADIC、辞書はアプリに同梱)で文を語に切ってから索引します。
「春夏用リネンワンピース」 → 春夏 / 用 / リネン / ワンピースそのため、「ワンピース」で検索すると「春夏用リネンワンピース」がヒットします。前方一致の検索では出ません。
「赤ワイン」「ゴマ油」のように辞書が1語として持つ名詞も、カタカナ(2文字以上)とそれ以外の文字の境目で後ろの語を切り出して索引します。「ワイン」「油」で検索してもヒットします。
「赤ワイン」 → 赤ワイン + ワイン
「ゴマ油」 → ゴマ油 + 油3. 読みの変換で打ち方の違いを吸収する
同じ語を違う打ち方で入力しても、ヒットします。
| 入力 | ヒットする商品名 |
|---|---|
りんご | リンゴジュース |
リンゴ | りんごジャム |
ringo | りんごジュース |
わんぴーす | ワンピース |
WD650 | WD650DR |
ひらがな⇄カタカナ、ローマ字、長音(コーヒー / コ-ヒ-)、小書き文字(キャンドル / キヤンドル)も同様に吸収します。
設定は不要です。同義語を登録していない状態でも働きます。
ここまでの1〜3は同義語ではなく、文字と読みの変換なので、登録なしで最初から働きます。「Tシャツ」と「カットソー」のような意味の言い換えは変換では対応できないため、同義語として登録します(→ 管理画面でできる調整)。
4. 品番・型番・SKU
品番は、文章のように意味で言い換えたり活用形に広げたりせず、書かれた文字のまま照合します。
- 完全一致は上位に固定されます。品番全体をハイフン抜きで打った場合(
AP12345KG)も同じです - 途中まで入力しても候補に出ます(
wd650→WD650DR)。数字かハイフンを含む品番を途中まで打つと、それで始まる品番の商品が完全一致の次に並びます(数字だけのときは6桁から) - ハイフンを抜いて打っても見つかります(
AP1234→AP-1234-5KG) - ハイフンやスラッシュで区切られた途中の塊だけを打っても見つかります(
1234→AP-1234-5KG)。数字を含む3文字以上の塊が対象です - 数字を含む品番を打ったときは、先頭の英字・短い数字・サイズのように品番を見分けられない部分だけが一致する商品は出しません。別々の場所で一致しても同じです(
MA-10で(MA-14) OPP 10x18は出ません)。商品名に、打った品番で始まる品番を書いた商品(MA-1で(MA-19)・MA 19・MA-2/MA-19)と、その検索語に優先表示やピン留めをした商品は出ます - 数字を含む品番は、打ち間違いの補正をしません。1文字違いは別の品番だからです
- 全角で
WD650と打っても半角の品番に届きます - SKU・バーコードも検索対象です
ハイフン区切りの品番も、途中まで入力すれば見つかります(TOKYO-MUG で TOKYO-MUG-RED)。この挙動はリリース前に通す検索品質のテストで固定しており、アップデートで勝手に変わることはありません。
ハイフンを抜いた入力と途中の塊での検索が効くのは、この機能が加わったあとに同期した商品です。それより前に同期した商品は、商品を更新したときか、全件同期をしたときから対象になります。
5. タイプミスの補正
入力に誤りがあっても、近い語を検索します。正しく一致する商品があるときは、そちらが優先されます。
6. 並び順
sort=relevance(デフォルト)のとき、次の要素で順位が決まります。
- 一致した場所: 商品名での一致は、説明文での一致より順位に強く影響します
- 一致の質: 完全一致 > 語の一致 > 読みの変換を経た一致 > タイプミス補正
- 売れ行き・クリック: 同じくらい一致している商品同士の並びに影響します
- マーチャントの設定: 商品の優先表示・キーワード別の表示ルール(→ 管理画面でできる調整)
順位の内訳(スコア)は返しません。 スコアは検索精度の改善のたびに変わるためです。公開すると、改善のたびに御社の実装が正しく動かなくなります。順位を制御したい場合は、管理画面の「商品の優先表示」と「キーワード別の表示ルール」をお使いください。
price_asc / price_desc / newest を指定した場合は、関連度ではなく指定した順に並びます。
7. 検索対象
| 対象 | 含まれるもの | 必要なプラン |
|---|---|---|
| 商品 | 商品名・説明文・ベンダー・商品タイプ・タグ | すべて |
| 商品のバリエーション | バリエーション名・SKU・バーコード | すべて |
| ブログ記事・ページ | タイトル・本文 | Basic 以上 |
| 商品のメタフィールド | 管理画面で「検索に使う」にした項目 | Pro |
| レビュー本文 | レビューのテキスト | Pro |
下書き・非公開の商品は索引しません。検索結果に出るのは、ストアフロントで実際に購入できる状態の商品だけです。
次に読む: 索引の同期(商品を追加したとき、いつ検索に出るか)