---
title: "Searchポリシー"
slug: "search-policies"
abstract: ""
---
# Searchポリシー

Sitecore.Commerce.Plugin.Search.SearchPolicyは複数の検索プロバイダーに共通設定を定義する[設定ポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/commerce-engine-policies.html "Commerce Engine policies")を提供します。

> !注既製品ポリシーを拡張したり継承したりしないでください。代わりに、自分でポリシーを作成してください。
> 
> ポリシーの定義場所に応じてPolicySet JSONやEnvironment JSONを修正し、その後Bootstrapを再実行することでデフォルトポリシーの値を変更できます。

以下のポリシーはSearchプラグインを通じて設定可能です:

方針

概要

プロパティ/デフォルト値

IndexablePolicy

特定のエンティティに対してどのビューフィールドをインデックスするかを定義します。  
  
各インデックス可能なEntityTypeは、Commerce Engineが取得してどのエンティティプロパティをインデックスするかを決定するIndexableViewを持つことができます。特定のビューの場合、各ViewProperty(すなわちフィールド)は、インデックスの設定、インデックスのフィールド、そのタイプ、検索可能か、フィルタブルかなどを定義するインデックス可能なポリシーを持つ必要があります。  
  
インデックス化される各フィールドは、インデックス可能なポリシーで定義された以下のプロパティを備えなければなりません。  
  

-   IsKey
-   IsSearchable(検索可能)
-   IsFilterable
-   IsSortable(並べ替えられる)です
-   IsFacetable
-   取り戻せる

  
  
インデックスブロックはフィールドのプロパティに設定された値を使い、インデックスを作成し、ドキュメントをインデックスに更新・挿入します。  
  
\> \[!注\]  
\> isKeyプロパティは1つのフィールドに対してのみtrueに設定できます。複数のフィールドでisKeyプロパティがtrueに設定されている場合、ミニオンがインデックスを作成または更新した際に検証が失敗します。

SearchScopeName <br>  
プロパティ \\ ConcurrentDictionary<string、IndexableSettings>

ItemIndexablePolicy

フィールドタイプマッパーを定義します。

KnownSearchActionsPolicy

検索ビューアクションの名前を定義します。

Search \\ "Search"  
  
DeleteSearchIndex「DeleteSearchIndex」  
  
UpdateSearchIndex「UpdateSearchIndex」  
  
CreateSearchIndex 「CreateSearchIndex」

KnownSearchViewsPolicy

検索ビューの名前を定義します。

文書 \\ 「文書」  
  
ドキュメント \\ 「ドキュメント」  
  
Search \\ "Search"  
  
検索結果「検索結果」  
  
SearchResult \\ 「SearchResult」  
  
索引 \\ 「索引」  
  
索引 \\ 「索引」

SearchPolicy

基盤となる検索サービスに送信されるデータ量をさらに制御する能力を提供します。  
  
"MaxNumberOfRows": はインデックスのクエリ要求で使用する最大行数(ドキュメント)を示す値を取得または設定します。検索クエリが行数を指定しない場合、これが使用される最大値となります。  
  
"IndexBatchSize": 結果セットをより小さなバッチに分割します。これはアイテムインデックス作成時に有用で、ミニオンはデフォルトで一度に1000エンティティを処理するためです。その数にシステム内の言語数を掛け合わせ、検索サービスへの長時間実行で高コストな呼び出しが発生する可能性があります。バッチサイズを設定することで、検索インデックスに提出する前に元の結果セットをスライスします。  
  
"DeleteBatchSize": 現在はインクリメンタルアイテムインデックス作成時に特に使用されており、インデックスから削除される項目を再インデックスする際にのみ使用されます。1回のバッチで削除される文書数をより細かく制御でき、検索サービスへの影響を軽減します。  
  
"ConcurrentIndexingOperations":並列にインデックスされるバッチ数を制御できます。

MaxNumberOfRows=1000000  
  
「IndexBatchSize」:100  
  
「DeleteBatchSize」:50  
  
「並行インデックス操作」:1

SearchScopePolicy

インデックスに追加されるエンティティの種類を定義します。  
  
インデックスミニオンは SearchScope ポリシーを用いて、適切なエンティティタイプがインデックス可能なリストに組み込まれることを保証します。商取引エンティティが永続化される場合、インデックスミニオンはエンティティタイプをSearchスコープポリシーと比較してチェックします。ポリシーが関連するエンティティタイプを指定している場合、ミニオンはポリシーで指定されたインクリメンタルリストに追加します。  
  
また、このポリシーは検索結果からデータを追加または削除するためのタグのセットを定義し、エンティティの更新を監視すべきリストを指定します。

名前<br>  
IncrementalListName <br>  
フルリスト名<br>  
エンティティタイプネーム<br>  
DeletedListName <br>  
ResultDetailsTags \\List()

SearchViewPolicy

検索および検索結果のエンティティビューの設定を定義します。  
  
ビューがリクエストされると、IGetEntityViewPipeline 内のブロックがそのビューの SearchViewPolicy をチェックします。 SearchViewPolicy が見つかると、パイプラインはその検索ビューをリクエストされたビューの子として追加します。

SearchScopeName <br>  
表示名<br>  
ページサイズ \\ 10  
  
PageSizeOptions \\ List { 5, 10, 25, 100

SitecoreItemRebuildIndexNamePolicy

サイトコアのインデックスを再構築するためのインデックス名を定義します

SitecoreItemSearchScopePolicy

インデックスがマスターインデックスかどうかを定義します。

IsMasterIndex(ブール)

SolrSearchPolicy

SOLR検索プロバイダーの検索ポリシーを定義します。

IsSolrCloud<br>  
SolrDateTimeFormatString<br>  
ConnectionTimeout<br>  
UseSolrAuthentication<br>  
SolrUserName<br>  
SolrPassword\\

> !注既製品ポリシーを拡張したり継承したりしないでください。代わりに、自分でポリシーを作成してください。
> 
> ポリシーの定義場所に応じてPolicySet JSONやEnvironment JSONを修正し、その後Bootstrapを再実行することでデフォルトポリシーの値を変更できます。