チュートリアル: Azure Cognitive Searchを構成する

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

注意

Azure Cognitive Searchは将来廃止され、Sitecoreは将来のリリースでこのサービスのサポートを提供しなくなります。

Azure SearchをSitecoreで使用するには、まずAzure SearchサービスをSitecoreインスタンスで設定する必要があります。これを行うには、このチュートリアルの手順を使用します。

Searchサービスを作成する

AzureでSearchサービスを作成するには、次の手順に従います。

  1. Azureポータルにログインし、More servicesをクリックして、検索サービスを作成します。

  2. FilterフィールドにSearch serviceと入力し、Search servicesをクリックします。

    Search for Search services
  3. Search servicesウィンドウで、Addをクリックします。

    Click Add
  4. New Search Serviceウィンドウで、次の操作を行います。

    • Search Serviceインスタンスの名前を指定します。

    • お客様に適したサブスクリプションの種類をお選びください。

    • お客様に適した適切なリソース グループ、場所、価格レベルを選択します。

    メモ

    Sitecoreは15の検索インデックスを使用しているため、最低でもS Standardの価格帯が必要です。

    New Search Service window
  5. Search Serviceインスタンスを設定したら、Createをクリックします。

  6. 新しく作成した検索サービスを開き、SettingsKeysをクリックします。

  7. Primary admin keyまたはSecondary admin keyapiKeyパラメーターにコピーします。どのキーを使用するかは関係ありませんが、キーは接続文字列で使用されます。

接続文字列の書式設定

Cloud Searchのデフォルトの接続文字列名はcloud.searchで、次の情報が含まれています。

  • serviceUrl – 検索サービスAPIのHTTPS URL (https://dk-test.search.windows.netなど)。

  • apiVersion – 日付形式に従います (例: 2017-11-11 ( APIバージョンの詳細を参照)。

  • apiKey – Azure管理ポータルから取得したサービスの管理者キー。

手記

サポートされている最新バージョンは2017-11-11です。サポートされているその他のバージョンについては、Azure Searchの互換性テーブルを参照してください。

接続文字列の形式は次のとおりです。

<add name="cloud.search" connectionString="serviceUrl=<url>;apiVersion=<apiVersion>;apiKey=<apiKey>" /> 
手記

Azure Cognitive Search for xConnectでは、この機能はサポートされていません。

geoレプリケートされたシナリオの場合

Sitecoreは、地理的にレプリケートされたシナリオでSearchサービスをサポートしています。このタイプのシナリオを使用するには、次のようにします。

  1. 2つ以上のSearch Serviceインスタンスを作成します。

  2. パイプ区切り記号 (|) を使用して接続文字列を追加します。 searchservice1searchservice2の2つの検索サービスがあり、それらをgeoレプリケートされたシナリオで使用する場合は、次の接続文字列を使用する必要があります。

    <add name="cloud.search" 
    connectionString="serviceUrl=https://searchservice1.search.windows.net;apiVersion=2015-02-28;apiKey=AdminKey1|serviceUrl=https://searchservice2.search.windows.net;apiVersion=2015-02-28;apiKey=AdminKey2" /> 

高度なスケーリングシナリオに対応

高度なスケーリング シナリオでは、インデックスに専用の検索サービスを使用することをお勧めします。これを設定するには:

  1. 新しい接続文字列 ( cloud.search.analyticsなど) を追加します。

  2. 対応するインデックスを次の接続文字列名で構成します。

Connection string name

検索プロバイダーとしてAzureを指定する

デフォルトでは、SitecoreはSolr検索プロバイダーを有効にして配布されます。

  • Azure検索プロバイダーを使用するには、web.configファイルで、検索プロバイダーとしてAzureを指定します

インデックスを再構築する

Sitecoreが完全に動作するように、インデックスを再構築する必要があります。

インデックスを再構築するには、次のようにします。

  1. Sitecoreログイン ページ (http:// {your_instance}/sitecore/login) に移動し、管理者の資格情報でログインします。

  2. Sitecore LaunchpadControl Panelをクリックし、Indexing managerを選択します。

  3. すべてのインデックスを選択して再構築するには、Indexing ManagerページでSelect allRebuildの順にクリックします。

    手記

    インデックスの再構築は時間のかかる操作であり、15分以上かかる場合があります。

    インデックスが再構築されると、Sitecore検索インデックスがAzureポータルのSearch serviceウィンドウに表示されます。

    Indexing Manager page

Azureフィールドの種類をマップする

.NetとSitecoreの間のさまざまなタイプのマッピングを定義する方法については、App_Config\Sitecore\ContentSearch.Azure\Sitecore.ContentSearch.Azure.DefaultIndexConfiguration.configファイルのsitecore\contentsearch\indexConfigurations\defaultCloudIndexConfiguration\CloudTypeMapperノードに移動します。

手記

すべてのカスタムフィールドのmap要素は、次のように定義する必要があります。

<map type="<Field type>" cloudType="<Edm type from list of supported types>" />

Azure Searchでは、次の エンティティ データ モデル (EDM) フィールドの種類が使用されます。フィールドタイプを正しくマッピングするには、次の表を参照してください。

Field type

Description

Edm.String

オプション: 全文検索用にトークン化できるテキスト (単語区切り、ステミングなど)。

Collection(Edm.String)

全文検索用にトークン化できる文字列の一覧。コレクション内のアイテム数に上限はありませんが、ペイロード サイズの16 MBの上限がコレクションに適用されることに注意してください。

Edm.Boolean

trueまたはfalseの値が含まれます。

Edm.Int32

32ビット整数値が含まれます。

Edm.Int64

64ビット整数値が含まれます。

Edm.Double

倍精度の数値データを使用します。

Edm.DateTimeOffset

日付と時刻の値は、次のようにOData V4形式で表されます。

yyyy-MM-ddTHH:mm:ss.fffZ

yyyy-MM-ddTHH:mm:ss.fff+|-HH:mm.

手記

DateTimeフィールドの精度はミリ秒に制限されています。ミリ秒未満の精度を持つDateTime値をアップロードすると、戻り値はミリ秒に切り上げられます。

2015-04-15T10:30:09.7552052Z次のように返されます。

2015-04-15T10:30:09.7550000Z.

手記

:

マップフィールド

コンポーネントが使用するすべてのフィールドをインデックス設定セクションの下にリストする場合は、次のようにリストすることをお勧めします。

  • sitecore\contentSearch\configuration\indexes\index\configuration\fieldMap

サポートされている属性は次のとおりです。

Attribute

Description

fieldName

LuceneとSolrに定義されているフィールドの名前。

cloudFieldName

Cloudに定義されているフィールド名。文字、数字、アンダースコアのみを含めることができます。

手記

最初の文字は文字である必要があります。

boost

boost属性を使用して、1つのフィールドを他のフィールドよりも重要度を付けます。

format

この属性は、DateTimeタイプのフィールドに対して構成する必要があります。サポートされている値は yyyy-MM-ddTHH:mm:ss.fffZ.

settingType

settingTypeプロパティは、次の条件を満たす必要があります。Sitecore.ContentSearch.Azure.CloudSearchFieldConfiguration, Sitecore.ContentSearch.Azure

Azure Searchのサポートを受ける

クエリ サポートとファセット サポートを正しく構成する必要があります。Azure Searchのサポートを構成するには、Azure Searchのサポート リファレンスを使用します。

この記事を改善するための提案がある場合は、 お知らせください!