Skip to content

多言語ストアでの動作

Shopify Markets などで複数の言語を展開しているストア向けの説明です。 日本語のみのストアでは、このページの内容は関係ありません。

対応言語

検索の解析に対応しているのは11言語です。

日本語 英語 フランス語 スペイン語 イタリア語 ポルトガル語
ドイツ語 オランダ語 ポーランド語 チェコ語 トルコ語

言語ごとに解析の方法が変わります。日本語は形態素解析、ラテン文字の言語は語形の 変化(複数形・活用)を吸収する処理を行います。

対応していない言語では検索できません。 その場合は Shopify 標準の検索に自動で 切り替わります(degraded_reason: "analyzer_mismatch")。

言語の指定

locale パラメータで解析言語を切り替えます。

GET /apps/marutto-search/search?type=search&contract=v1&q=dress&locale=en

省略した場合は、ストアで設定されている言語が使われます。

買い物客が見ているページの言語を渡してください。 英語のページで日本語の解析器を 使うと、語の切り出しが噛み合わず精度が落ちます。Shopify のテーマでは {{ request.locale.iso_code }} から取れます。

js
params.set("locale", window.Shopify?.locale ?? "ja");

翻訳されたテキストの検索

Shopify の翻訳機能で登録された商品名・説明文は、言語ごとに別々に索引されます。 英語で検索すれば英語の商品名に、日本語で検索すれば日本語の商品名に当たります。

翻訳の同期について

Shopify には翻訳の Webhook がありません。 商品の翻訳を編集しても products/update は飛びません。

そのためまるっと検索は、定期的にストアの翻訳を照合して更新しています。 商品本体の変更(数秒で反映)と違い、翻訳の変更が検索に反映されるまでには 時間差があります

翻訳を大量に更新した直後に検索結果を確認する場合は、管理画面から同期を実行して ください。

価格の通貨

price_min / price_max はショップの基準通貨です。 買い物客が見ている 表示通貨とは一致しません。

Markets で多通貨展開している場合は、

  • 御社側で換算する
  • 価格の描画だけ Shopify の Storefront API から取得する

のいずれかをご検討ください。多通貨対応のご要望があればお知らせください。


次に読む: 用語集

まるっと検索