この記事では、B2C Commerce サイト上の日本語検索の仕組みと、検索結果に商品がヒットしない問題への対応方法について解説します。
商品検索の仕組み:「インデックス」と「クエリ」
サイトカタログで扱う商品データはデータベースに保存されます。しかし、サイト上の商品検索時にデータベースに対して直接検索を行うと、データベース側の負荷が高まり、サイトのパフォーマンスが低下してしまいます。そのため、サイト上の商品検索では、事前に商品データを元に「インデックス」を作成しておき、検索時にはそのインデックスに対して検索フレーズでの「クエリ」を実行する形式をとります。このようなインデックスに対する全文検索の仕組みによって、サイト上の検索は高速に行われます。
日本語検索問題の調査方法
上記の仕組みを踏まえ、日本語検索で特定の商品が結果にヒットしない問題が発生した場合は、インデックスとクエリの詳細を確認し、原因を調べる必要があります。 Business Manager では、以下の箇所で商品のインデックスとクエリの詳細内容を確認できます。
個別の商品インデックスの確認手順
※フレーズ検索においては「content-text」項目(例:content-text@L:ja_JP)がクエリ時に参照される重要項目です。
クエリの詳細の確認手順
商品が検索結果にヒットするためには、クエリテスト画面上で最終的に生成されるクエリの各トークンが、商品インデックスと完全に一致する必要があります。
マッチングの例
例えば、ある商品のインデックスが「ほげら」「ふが」で作成されている状態とします。
この場合、以下のクエリでは「ほげら」と「ふが」がインデックスと一致するため、同商品がヒットします。
ヒットするクエリの例
+((content-text@L:ja_JP:ほげら)^1.0) +((content-text@L:ja_JP:ふが)^1.0)
※インデックスの「content-text@L:ja_JP」項目として「ほげら」と「ふが」両方が存在するため、検索ヒットする。
一方で、以下のクエリでは、「ほげ」が商品インデックスの「ほげら」と一致しないため、商品はヒットしません。
ヒットしないクエリの例
+((content-text@L:ja_JP:ほげ)^1.0) +((content-text@L:ja_JP:ふが)^1.0)
※インデックスの「content-text@L:ja_JP」項目に「ほげ」が存在しないため、検索ヒットしない。
日本語固有の処理について
日本語は英語のようにスペースでの区切りが存在しない言語です。そのため、商品データや検索フレーズに対する分析時には、形態素解析辞書や内部アルゴリズムに基づいたトークンの分割が行われます。また、分割されたトークンに対して、動詞の活用形を基本形へ変換する処理や、助詞(てにをは)の除去処理も行われます。
環境上の特定設定や特定の日本語フレーズにおいては、こういった日本語向けの言語処理の結果としてクエリとインデックスがマッチせず、想定通りに商品がヒットしない問題が発生することがあります。
そのような問題が発生した場合、まずは以下の2点の設定をお試しください。
上記の設定に加えて、日本語カスタム辞書や同義語といった検索辞書を設定することでも問題を解消できます。
これらの機能で解消できる日本語検索問題の概要については、以下の表をご確認ください。
| 問題のタイプ | 商品名(例) | 検索フレーズ(例) | 解決に有効な機能 | 効果 |
| 商品名(スペースなどで区切られたフレーズ)と検索フレーズが完全一致しているにも関わらず、検索ヒットしない |
こいのぼり 小物 ※スペースあり | こいのぼり | 日本語検索とインデックスの厳密な整合 | 検索フレーズによって生成されるクエリが、同名の商品インデックスとマッチするようになる |
| 比較的文字数の多い複合語(特にカタカナ)のフレーズで検索ヒットしない | マルチビタミンミネラルサプリメント | マルチビタミンミネラル | 「日本語 - 改善版」ステミング | 複合語のトークン分割結果に、複合語自体が含まれないようになる |
| 固有名詞(特にひらがな)がトークンとして認識されない | あすとろぬいぐるみ | あすとろ | 日本語カスタム辞書 | 「あすとろ」をトークンとして認識させることで、そのフレーズで「あすとろぬいぐるみ」がヒットするようになる |
それぞれの機能の詳細については、以下のナレッジ記事をご参照ください。
000397156

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.