チュートリアル: Azure Cognitive Searchを構成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Azure Cognitive Searchは将来廃止され、Sitecoreは将来のリリースでこのサービスのサポートを提供しなくなります。
Azure SearchをSitecoreで使用するには、まずAzure SearchサービスをSitecoreインスタンスで設定する必要があります。
Searchサービスを作成する
Searchサービスを作成する
AzureでSearchサービスを作成するには、次の手順に従います。
-
Azureポータルにログインし、More servicesをクリックして、検索サービスを作成します。
-
FilterフィールドにSearch serviceと入力し、Search servicesをクリックします。
-
Search servicesウィンドウで、Addをクリックします。
-
New Search Serviceウィンドウで、次の操作を行います。
-
Search Serviceインスタンスの名前を指定します。
-
お客様に適したサブスクリプションの種類をお選びください。
-
お客様に適した適切なリソース グループ、場所、価格レベルを選択します。
メモSitecoreは15の検索インデックスを使用しているため、最低でもStandardの価格帯が必要です。
-
-
Search Serviceインスタンスを設定したら、Createをクリックします。
-
新しく作成した検索サービスを開き、Settings、Keysをクリックします。
-
Primary admin keyまたはSecondary admin keyをapiKeyパラメーターにコピーします。どのキーを使用するかは関係ありませんが、キーは接続文字列で使用されます。
接続文字列の書式設定
接続文字列の書式設定
Cloud Searchのデフォルトの接続文字列名はcloud.searchで、次の情報が含まれています。
-
serviceUrl – 検索サービスAPIのHTTPS URL (https://dk-test.search.windows.netなど)。
-
apiVersion – 日付形式 (例: 2017-11-11) に従います ( APIバージョンの詳細を参照)。
-
apiKey – Azure管理ポータルから取得したサービスの管理者キー。
Sitecoreバージョン9.1以降の場合は、APIバージョンを2017-11-11に設定します。サポートされているその他のバージョンについては、Azure Searchの互換性テーブルを参照してください。
接続文字列の形式は次のとおりです。
Azure Cognitive Search for xConnectでは、この機能はサポートされていません。
geoレプリケートされたシナリオ
Sitecoreは、地理的にレプリケートされたシナリオでSearchサービスをサポートしています。このタイプのシナリオを使用するには、次のようにします。
-
2つ以上のSearch Serviceインスタンスを作成します。
-
パイプ区切り記号 (|) を使用して接続文字列を追加します。 searchservice1とsearchservice2の2つの検索サービスがあり、それらをgeoレプリケートされたシナリオで使用する場合は、次の接続文字列を使用する必要があります。
高度なスケーリング シナリオ
高度なスケーリング シナリオでは、インデックスに専用の検索サービスを使用することをお勧めします。これを設定するには:
-
新しい接続文字列 ( cloud.search.analyticsなど) を追加します。
-
対応するインデックスを次の接続文字列名で構成します。
検索プロバイダーとしてAzureを指定する
検索プロバイダーとしてAzureを指定する
デフォルトでは、SitecoreはSolr検索プロバイダーを有効にして配布されます。
代わりにAzureを使用するには、web.configファイルで検索プロバイダーとしてAzureを指定する必要があります。
インデックスを再構築する
インデックスを再構築する
Sitecoreが完全に動作するように、インデックスを再構築する必要があります。
インデックスを再構築するには、次のようにします。
-
Sitecoreログイン ページ (http:// {your_instance}/sitecore/login) に移動し、管理者の資格情報でログインします。
-
Sitecore LaunchpadでControl Panelをクリックし、Indexing managerを選択します。
-
すべてのインデックスを選択して再構築するには、Indexing ManagerページでSelect all、Rebuildの順にクリックします。
手記インデックスの再構築は時間のかかる操作であり、15分以上かかる場合があります。
インデックスが再構築されると、Sitecore検索インデックスがAzureポータルのSearch serviceウィンドウに表示されます。
Azureフィールドの種類をマップする
Azureフィールドの種類をマップする
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. |
.NetとSitecoreの間のさまざまなタイプのマッピングを定義する方法については、App_Config\Sitecore\ContentSearch.Azure\Sitecore.ContentSearch.Azure.DefaultIndexConfiguration.configファイルのsitecore\contentsearch\indexConfigurations\defaultCloudIndexConfiguration\CloudTypeMapperノードに移動します。
すべてのカスタムフィールドのmap要素は、次のように定義する必要があります。
マップフィールド
マップフィールド
コンポーネントが使用するすべてのフィールドをインデックス設定セクションの下にリストする場合は、次のようにリストすることをお勧めします。
-
sitecore\contentSearch\configuration\indexes\index\configuration\fieldMap
サポートされている属性は次のとおりです。
|
Attribute |
Description |
|---|---|
|
boost |
boost属性を使用して、1つのフィールドを他のフィールドよりも重要度を付けます。 |
|
cloudAnalyzer |
この属性を使用して、検索操作とインデックス作成操作の両方のアナライザーを設定します。 手記 searchAnalyzer属性とindexAnalyzer属性を使用している場合は、1つのcloudAnalyzer属性を置き換えるペアとして指定する必要があります。 |
|
cloudFieldName |
Cloudに定義されているフィールド名。文字、数字、アンダースコアのみを含めることができます。 手記 最初の文字は文字である必要があります。 |
|
fieldName |
Solrに定義されているフィールドの名前。 |
|
format |
この属性は、DateTimeタイプのフィールドに対して構成する必要があります。サポートされている値は yyyy-MM-ddTHH:mm:ss.fffZ. |
|
indexAnalyzer |
この属性を使用して、インデックス作成操作用のアナライザーを設定します。 手記 この属性を使用する場合は、searchAnalyzer属性とindexAnalyzer属性をペアとして指定し、1つのcloudAnalyzer属性を置き換える必要があります。 |
|
searchAnalyzer |
この属性を使用して、検索操作用のアナライザーを設定します。 手記 この属性を使用する場合は、searchAnalyzer属性とindexAnalyzer属性をペアとして指定し、1つのcloudAnalyzer属性を置き換える必要があります。 |
|
settingType |
settingTypeプロパティは、次の条件を満たす必要があります。Sitecore.ContentSearch.Azure.CloudSearchFieldConfiguration, Sitecore.ContentSearch.Azure |
Azure Searchのサポート
Azure Searchのサポート
Azure Searchのサポート リファレンスを使用して、クエリ サポートとファセット サポートを正しく構成してください。
開いているHTTP接続の数を構成する
開いているHTTP接続の数を構成する
Azure Searchプロバイダーが使用する 接続の数は 、次の設定で管理できます。
次のシナリオでは、設定値を調整する必要があります。
-
Decrease the value - HTTPを多用している他のアプリケーションがある場合。
-
Increase the value - アプリケーションの負荷が高い場合、新しい接続の作成に時間がかかりすぎるか、作成が失敗します。これは、超過制限の設定が低すぎるためです。
トークンアナライザの設定
トークンアナライザの設定
トークン アナライザーは、Azure Search Analyzer APIからのサポートを追加することで、テキストをトークンに分割します。検索クエリにハイフン ("-") などの非ラテン文字が含まれている場合、テキストは2つのトークンに分割されます。たとえば、クエリtest-indexを使用してName フィールドを検索すると、クエリ内のテキストはtest とindex の2つの個別のトークンにトークン化されます (フィールドに言語アナライザーが含まれているかどうかは関係ありません)。
クエリ結果は、構成されているアナライザーによって異なります。フィールドにアナライザーが含まれていない場合、ContentSearch.Azure.DefaultTokenAnalyzerは要求の送信に使用されます。
次の設定を使用して、アナライザーを構成します。
|
設定 |
形容 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ContentSearch.Azure.UseTokenAnalyzer |
APIを分析するための要求を送信するかどうかを制御します。この設定は、環境のパフォーマンスに影響を与える可能性があります。ただし、無効にすることはできます。設定が無効になっている場合、またはAnalyze APIからの応答がエラーを返す場合、テキストは次の記号を含むトークンに分割されます。
| ||||||||||||||||||||
|
ContentSearch.Azure.DefaultTokenAnalyzer |
これを使用して、APIを分析する要求を送信する既定のアナライザーを指定します。デフォルトでは、特に指定しない限り、要求は標準のLuceneアナライザーを使用して送信されます。 | ||||||||||||||||||||
|
ContentSearch.Azure.TokenCacheSlidingExpiration |
アイテムをキャッシュに保持できる期間を制御します。すべてのAnalyze API要求は、Analyze APIの結果をキャッシュに格納する環境のパフォーマンスに影響を与えるため、これは重要です。 |
ホワイトリストによる制御フィールド
ホワイトリストによる制御フィールド
ホワイトリストを使用して、インデックススキーマに含めるフィールドを制御します。
Azure Searchのホワイトリスト登録を構成するには:
-
\App_Config\Sitecore\ContentSearch.Azure\ Sitecore.ContentSearch.Azure.DefaultIndexConfiguration.config設定ファイルで、indexAllFields設定の値をfalseに設定します。
-
設定ファイルで、設定セクションのリストに含める最小限の推奨フィールドを追加します。フィールドの最小推奨リストには、次のものが含まれます。
-
インデックスを作成するフィールドで構成セクションを拡張します。



