1. 検索とインデックス作成

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

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

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

注意

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

Azure Cognitive SearchをSitecoreと共に使用するには、まずAzure Cognitive SearchサービスをSitecoreインスタンスで設定する必要があります。次のセクションに取り組み、Azure Cognitive Searchサービスを構成します。

検索サービスを作成する

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

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

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

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

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

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

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

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

    メモ

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

    The S standard pricing tier.
  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 – 日付形式に従います (例: 2015-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. 対応するインデックスを次の接続文字列名で構成します。

Configure the corresponding index with the connection string name.

設定ファイルを設定する

クラウド検索プロバイダーは、SolrやLuceneと同じ構成パターンに従い、Azure固有の設定を別の構成ファイルにまとめます。Azure Cognitive Searchを設定するには、まずすべてのLuceneまたはSolr構成ファイルを無効にし、対応するクラウド構成ファイルを有効にする必要があります。

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

Azure Cognitive Searchがenabled 、Luceneがdisabledになるように、構成ファイルを切り替える必要があります。

  1. 次の *.Azure.Index* ファイルを有効にするには、.disabled拡張子を削除します。

    • Sitecore.ContentSearch.Azure.DefaultIndexConfiguration.config.disabled

    • Sitecore.ContentSearch.Azure.Index.Analytics.config.disabled

    • Sitecore.ContentSearch.Azure.Index.Core.config.disabled

    • Sitecore.ContentSearch.Azure.Index.Master.config.disabled

    • Sitecore.ContentSearch.Azure.Index.Web.config.disabled

    • Sitecore.ContentTesting.Azure.IndexConfiguration.config.disabled

    • Sitecore.FXM.Azure.DomainsSearch.DefaultIndexConfiguration.config.disabled

    • Sitecore.FXM.Azure.DomainsSearch.Index.Master.config.disabled

    • Sitecore.FXM.Azure.DomainsSearch.Index.Web.config.disabled

    • Sitecore.ListManagement.Azure.Index.List.config.disabled

    • Sitecore.ListManagement.Azure.IndexConfiguration.config.disabled

    • Sitecore.Marketing.Azure.Index.Master.config.disabled

    • Sitecore.Marketing.Azure.Index.Web.config.disabled

    • Sitecore.Marketing.Azure.IndexConfiguration.config.disabled

    • Sitecore.Marketing.Definitions.MarketingAssets.Repositories.Azure.Index.Master.config.disabled

    • Sitecore.Marketing.Definitions.MarketingAssets.Repositories.Azure.Index.Web.config.disabled

    • Sitecore.Marketing.Definitions.MarketingAssets.Repositories.Azure.IndexConfiguration.config.disabled

    • Sitecore.Social.Azure.Index.Master.config.disabled

    • Sitecore.Social.Azure.Index.Web.config.disabled

    • Sitecore.Social.Azure.IndexConfiguration.config.disabled

  2. 次のLucene *.Lucene.Indexファイルをすべて無効にするには、.disabled拡張子を追加します。

    • Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config

    • Sitecore.ContentSearch.Lucene.Index.Analytics.config

    • Sitecore.ContentSearch.Lucene.Index.Core.config

    • Sitecore.ContentSearch.Lucene.Index.Master.config

    • Sitecore.ContentSearch.Lucene.Index.Web.config

    • Sitecore.ContentTesting.Lucene.IndexConfiguration.config

    • Sitecore.FXM.Lucene.DomainsSearch.DefaultIndexConfiguration.config

    • Sitecore.FXM.Lucene.DomainsSearch.Index.Master.config

    • Sitecore.FXM.Lucene.DomainsSearch.Index.Web.config

    • Sitecore.ListManagement.Lucene.Index.List.config

    • Sitecore.ListManagement.Lucene.IndexConfiguration.config

    • Sitecore.Marketing.Lucene.Index.Master.config

    • Sitecore.Marketing.Lucene.Index.Web.config

    • Sitecore.Marketing.Lucene.IndexConfiguration.config

    • Sitecore.Marketing.Definitions.MarketingAssets.Repositories.Lucene.Index.Master.config

    • Sitecore.Marketing.Definitions.MarketingAssets.Repositories.Lucene.Index.Web.config

    • Sitecore.Marketing.Definitions.MarketingAssets.Repositories.Lucene.IndexConfiguration.config

    • Sitecore.Social.Lucene.Index.Master.config

    • Sitecore.Social.Lucene.Index.Web.config

    • Sitecore.Social.Lucene.IndexConfiguration.config

    • Sitecore.Speak.ContentSearch.Lucene.configSitecore.Marketing.Definitions.MarketingAssets.Repositories. Lucene.Index.Web.config

    • Sitecore.Marketing.Definitions.MarketingAssets.Repositories. Lucene.IndexConfiguration.config

    • Sitecore.Social.Lucene.Index.Master.config

    • Sitecore.Social.Lucene.Index.Web.config

    • Sitecore.Social.Lucene.IndexConfiguration.config

    • Sitecore.Speak.ContentSearch.Lucene.config

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

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

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

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

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

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

    手記

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

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

    Indexes.

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

Azure Cognitive 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.

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

手記

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

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

マップフィールド

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

  • 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.Cloud.ContentSearch.CloudSearchFieldConfiguration, Sitecore.Cloud.ContentSearch

Azure Cognitive Searchのサポート

Azure Cognitive Searchのサポート リファレンスを使用して、クエリのサポートとファセット サポートを正しく構成してください。

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