ローカライズされたコンテンツにロケール抽出器を使用する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ローカライズされたコンテンツは、いくつかのSitecore Searchソースでインデックスを作成できます。ローカライズされたコンテンツにインデックスを付けるには、英語 (米国) (en-US) や日本 (日本語) (ja-JPなど) content itemのロケールを抽出し、同じコンテンツのローカライズされたバージョンに対して共通のIDを生成します。その後、実行時にロケールコンテキストを指定すると、ロケール固有のコンテンツをサイト訪問者に表示できます。
ローカライズされたコンテンツにインデックスを付けるには、使用可能なロケール を定義し、ロケール抽出器を構成する必要があります。
コンテンツのローカライズされたバージョンが同じIDを共有するようにする
ローカライズされたコンテンツのソースを作成するときは、同じcontent itemsのローカライズされたバージョンのインデックス ドキュメントが同じIDを共有するようにする必要があります。つまり、コンテンツをローカライズしたときにid属性を抽出する方法を明示的に構成する必要があります。
たとえば、会社のAbout Usページは、英語 (米国) を含む6つのロケールで利用できます。 id属性の抽出方法を構成しない場合、Searchは6つのAbout Usインデックス文書に対して6つの異なるIDを生成します。これにより、インデックス文書のIDを使用するものを構成するときに問題が発生します。たとえば、多くのピン留めルールは、特定のIDを持つcontent itemを特定のスロットにピン留めすることに基づいています。 About Usをピン留めし、英語 (米国) バージョンのIDを使用する場合、英語 (米国) ロケールのユーザーのみがピン留めされたcontent item表示されます。他の5つのロケールのユーザーには、ローカライズされたバージョンのAbout Usがピン留めされていません。この問題を回避するには、同じコンテンツのローカライズされたバージョンのIDが同じであることを常に確認してください。
Localeエクストラクタ
Sitecore Searchでは、ローカライズされたコンテンツをクロールしてインデックスを作成するようにソースを構成する場合は、各インデックスドキュメントのメタデータにロケールを追加する必要があります。これを行うには、ロケール抽出器を設定します。
以下の設定を構成して、クローラーがcontent itemからロケール情報を抽出する方法を定義します。
|
Settings |
形容 |
|---|---|
|
Name |
ロケール抽出器の意味のある名前。 |
|
Extractor Type |
使用するロケール抽出器のタイプ。以下を使用できます。
|
|
URLs to Match |
これはオプションの設定です。 |
JavaScriptロケール抽出器
各ページからロケールを抽出するJS関数を追加します。
ヘッダーロケール抽出器
ロケールとして使用するvalueのヘッダーkeyを追加します。高度なWebクローラーは、要求ヘッダーでこのキーを見つけられない場合は、応答ヘッダーでこのキーを探します。
たとえば、ヘッダーとしてAccept-Languageを追加すると、クローラーはkey Accept-Languageを検索し、そのドキュメントのロケールとしてvalueを使用します。要求ヘッダーがAccept-Language: es-ESの場合、インデックスドキュメントには、es-ES (スペイン、スペイン語) ドキュメントとしてタグ付けするメタデータがあります。