ウォークスルー
Cognitive Searchの設定

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

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

注意

Azure Cognitive Searchは将来的に廃止され、Sitecoreは今後このサービスのサポートを終了します。

SitecoreでAzure Searchを使うには、まずSitecoreインスタンスでAzure Searchサービスを設定する必要があります。

AzureでSearchサービスを作成するには、以下の手順に従ってください。

  1. Azureポータルにログインし、「More services」をクリックしてSearchサービスを作成してください。

  2. フィルターフィールドで「Search service」と入力し、「Search services」をクリックしてください。

    Search for Search services
  3. Search servicesウィンドウで「追加」をクリックします。

    Click Add
  4. 新しいSearchサービスウィンドウで:

    • Search Serviceインスタンスの名前を指定してください。

    • 自分に合ったサブスクリプションの種類を選びましょう。

    • 自分に合ったリソースグループ、所在地、価格帯を選びましょう。

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

    New Search Service window
  5. Search Serviceインスタンスが設定されたら、「 作成」をクリックします。

  6. 新しく作成した検索サービスを開き、「 設定」→ キーをクリックしてください。

  7. プライマリ管理者キーかセカンダリ管理者キーをapiKeyパラメータにコピーします。どのキーを使うかは関係ありませんが、そのキーは接続文字列に使われます。

接続文字列のフォーマット

クラウドSearchのデフォルトの接続文字列名はcloud.searchで、以下の情報が含まれています。

!注バージョン9.1以降Sitecore APIバージョンを2017-11-11に設定してください。他のサポートバージョンについては、Azure Search互換性表を参照してください。

接続文字列の形式は以下の通りです:

!注Azure Cognitive Search for xConnectはこの機能をサポートしていません。

ジオレプリケートシナリオ

Sitecoreはジオレプリケートシナリオを含むSearchサービスをサポートしています。この種のシナリオを使用するには:

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

  2. パイプセパレーター(|)で接続文字列を追加します。例えば、searchservice1とsearchservice2のような2つの検索サービスがあり、それらをジオレプリケート(地理的複製)で使いたい場合は、以下の接続文字列を使用しなければなりません。

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

高度なスケーリングシナリオでは、インデックス専用の検索サービスを利用するのがベストプラクティスです。これを設定するには:

  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 Launchpadでコントロール パネルをクリックし、「 インデックスマネージャー」を選択してください。

  3. すべてのインデックスを選択して再構築するには、インデックスマネージャー のページで「 すべて選択」→「 再構築」をクリックしてください。

    !注インデックスの再構築は時間がかかり、15分以上かかることもあります。

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

    Indexing Manager page

Map the Azure field types

Azure Searchは以下の エンティティデータモデル(EDM)フィールドタイプを使用しています。フィールドタイプを正しくマッピングしているか確認するために、表を参照してください。

フィールドタイプ

概要

Edm.String

オプション

、例えば単語区切りや語幹整理など。

Collection(Edm.String)

全文検索のためにトークン化可能な文字列のリストです。コレクション内のアイテム数に上限はありませんが、ペイロードサイズの上限16MBはコレクションにも適用されることを覚えておいてください。

Edm.Boolean

trueまたはfalseの値を含みます。

Edm.Int32

32ビット整数値を含みます。

Edm.Int64

64ビット整数値を含みます。

Edm.Double

二重精度の数値データを使用。

Edm.DateTimeOffset

日付と時刻の値はOData V4形式で表されます。例えば:

yyyy-mm-ddTHH:mm

.fffZ

yyyy-mm-ddTHH:mm

.fff[+|-]HH
。

> [!注]
> DateTime フィールドの精度はミリ秒に制限されます。サブミリ秒精度の DateTime 値をアップロードすると、返される値はミリ秒単位で切り上げられます。例えば:
> 2015-04-15T10:30

.7552052Z は以下のように返されます。
> 2015-04-15T10:30
.7550000Z。

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

!注すべてのカスタムフィールドのmap要素は次のように定義しなければなりません:

マップフィールド

コンポーネントが使用するすべてのフィールドをインデックス設定セクションでリストアップする際は、以下のように記載するのがベストプラクティスです。

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

サポートされる属性は以下の通りです:

属性

概要

fieldName

ルセンとソルのために定義されたフィールドの名前。

cloudFieldName

クラウドで定義されたフィールド名。文字、数字、アンダースコアのみを含められます。

> [!注]
> 最初の文字は文字でなければなりません。

boost

ブースト属性を使って、あるフィールドの重要度を他より高めましょう。

format

この属性は、 DateTime 型フィールドに対して設定する必要があります。サポートされている値は yyyy-MM-ddTHH:mm

.fffZ.

settingType

settingTypeプロパティは以下の条件でなければなりません

.ContentSearch.Azure.CloudSearchFieldConfiguration, Sitecore.ContentSearch.Azure

クエリサポートとファセットサポートを正しく設定するために、サポートリファレンスを 活用してくださいAzure Search。

複数のオープンHTTP接続を設定しましょう

Azure Searchプロバイダーが使用する 接続数は 以下の設定で管理できます:

以下の状況では設定値を調整する必要があります:

  • 値を下げる - HTTPを集中的に使っている他のアプリケーションがある場合。
  • 値を上げる - アプリケーションが高負荷の場合、新しい接続の作成に時間がかかりすぎたり、作成に失敗したりします。これは、超過上限が設定されすぎているためです。
この記事を改善するための提案がある場合は、 お知らせください!