検索ポリシーを定義する

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

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

インデックスを設定するときは、Plugin.Search.PolicySet.1.0.0.jsonファイル (または各環境JSONファイル) に次のポリシーを追加する必要があります。

検索範囲ポリシー

検索スコープ ポリシーでは、検索スコープ名 (インデックス名と一致する)、インデックスに追加するエンティティの種類、検索結果にデータを追加または削除するためのタグのセット、およびエンティティを監視するリストを定義します。

   { 
     "$type": "Sitecore.Commerce.Plugin.Search.SearchScopePolicy, Sitecore.Commerce.Plugin.Search", 
      "Name": "YOUR SEARCH SCOPE NAME", 
      "IncrementalListName": "YOUR INCREMENTAL LIST NAME", 
      "FullListName": "YOUR FULL LIST NAME", 
      "DeletedListName": "YOUR DELETED LIST NAME", 
      "EntityTypeNames": "YOUR ENTITY NAME", 

      "ResultDetailsTags": { 
        "$type": "System.Collections.Generic.List`1[[Sitecore.Commerce.Core.Tag, Sitecore.Commerce.Core]], mscorlib", 
        "$values": [ 
          { 
            "$type": "Sitecore.Commerce.Core.Tag, Sitecore.Commerce.Core", 
             "Name": "YOUR TAG" 
          },             
          { 
            "$type": "Sitecore.Commerce.Core.Tag, Sitecore.Commerce.Core", 
            "Name": "ANOTHER TAG" 
          } 
        ] 
     } 
   }

インデックス可能なポリシー

Indexableポリシーは、インデックスの設定、インデックスに含まれるフィールド、そのタイプ、検索可能かどうか、フィルタ可能かどうかなどを定義します。キーとして設定できる項目は1つだけです (設定しないと、インデックスの作成または更新時にエラーがスローされます)。 SearchScopeNameSearchScopePolicyの名前と一致する必要があります。

 { 
   "$type": "Sitecore.Commerce.Plugin.Search.IndexablePolicy, Sitecore.Commerce.Plugin.Search", 
   "SearchScopeName": "YOUR SEARCH SCOPE NAME", 
   "Properties": { 
      "PROPERTY1": { 
        "TypeName": "System.String", 
        "IsKey": true, [ONLY ONE PROPERTY CAN BE KEY] 
        "IsSearchable": true, 
        "IsFilterable": false, 
        "IsSortable": false, 
        "IsFacetable": false, 
        "IsRetrievable": true 
      }, 
      "PROPERTY2": { 
        "TypeName": "System.String", 
        "IsKey": false, 
        "IsSearchable": true, 
        "IsFilterable": true, 
        "IsSortable": true, 
        "IsFacetable": false, 
        "IsRetrievable": true 
      }, 
      "PROPERTY3": { 
        "TypeName": "System.DateTimeOffset", 
        "IsKey": false, 
        "IsSearchable": false, 
        "IsFilterable": true, 
        "IsSortable": true, 
        "IsFacetable": false, 
        "IsRetrievable": true 
      }, 
      "ArtifactStoreId": {  
        "TypeName": "System.String", 
        "IsKey": false, 
        "IsSearchable": false, 
        "IsFilterable": true, 
        "IsSortable": false, 
        "IsFacetable": false, 
        "IsRetrievable": false 
      } 
   } 
} 
メモ

ArtifactStoreIdは、複数の環境がインデックスを共有する場合に必須フィールドです。ArtifactStoreIdフィールドは、環境が追加、削除、または取得できるデータを決定します。

検索表示ポリシー

SearchViewポリシーは、検索および検索結果エンティティ ビューの設定を定義します。

ビューが要求されると、IGetEntityViewPipelineのブロックによって、要求されたビューのSearchViewPolicyがチェックされます。検索ビュー ポリシーに要求されたビューへの参照が含まれている場合、パイプラインは要求されたビューの子として検索ビューを追加します。

{ 
   "$type": "Sitecore.Commerce.Plugin.Search.SearchViewPolicy, Sitecore.Commerce.Plugin.Search", 
   "SearchScopeName": "YOUR SCOPE NAME", 
   "ViewName": "YOUR VIEW NAME", 
   "PageSize": 10, 
   "PageSizeOptions":
     {
       "$type": "System.Collections.Generic.List`1[[System.Int]], mscorlib", 
          "$values": [ 
     { 
       "$type": "System.Int", 
       "Name": 5 
     },             
     { 
       "$type": "System.Int", 
       "Name": 10 
     }, 
     { 
       "$type": "System.Int", 
       "Name": 25 
     },             
     { 
       "$type": "System.Int", 
       "Name": 50 
     }, 
     { 
       "$type": "System.Int", 
       "Name": 100 
     } 
   ] 
} 
この記事を改善するための提案がある場合は、 お知らせください!