xConnect Search Indexerの設定
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、xConnect Search Indexerに影響を与える構成設定について説明します。xConnect Search Indexerには6つのXML設定ファイルがあります。汎用設定からプロバイダ固有の設定に移行すると、sc.Xconnect.SearchIndex.xml、sc.Xdb.Collection.IndexerSettings.xml、sc.Xdb.Collection.Data.Sql.xml、sc.Xdb.Collection.IndexWriter.AzureSearch.xml、およびsc.Xdb.Collection.IndexWriter.SOLR.xmlです。
xConnect Search Indexerは、基盤となるプロバイダー の変更追跡保持期間の設定の影響を受けます。
オンプレミスの単一マシン展開では、インデクサー構成はC:\>Path to xConnect>\App_data\jobs\continuous\IndexWorker\App_data\Configの下にあります。
xConnect Search Indexerは、\App_data\Configサブフォルダーで使用可能なすべての構成設定を使用するわけではありません。たとえば、インデクサーはsc.Xdb.Collection.RepositorySettings.xmlの設定を使用しません。
SCの。XConnect.SearchIndexer.xml
SCの。XConnect.SearchIndexer.xml
次の設定は、インデクサーが変更を確認する頻度を制御します。
ファイルパス: C:\<Path to xConnect>\App_data\jobs\continuous\IndexWorker\App_data\Config\Sitecore\SearchIndexer\sc.XConnect.SearchIndexer.xml
|
設定 |
形容 |
|---|---|
|
Frequency |
インデクサーが変更を確認する頻度を制御します。 インデクサーが0.20秒間ビジー状態の場合、0.05秒待ってから再試行します。 インデクサーが0.25秒以上ビジー状態の場合は、前のセットのインデックス作成の直後に変更がチェックされます。 |
|
DelayAfterError |
インデクサーがエラー発生後に再試行するまでの待機時間を制御します。 |
|
DelayAfterRecurringError |
インデクサーがRecurringErrorThresholdに達した後に再試行するまでに待機する時間を制御します。 エラーが発生した場合は、この値を増やしてログエントリの数を減らします。 |
|
RecurringErrorThreshold |
DelayAfterRecurringError設定が有効になるまでにエラーが発生する回数を制御します。 |
SCの。Xdb.Collection.IndexerSettings.xml
SCの。Xdb.Collection.IndexerSettings.xml
次の設定は、インデックスの再構築中のメモリ使用量を制御します。
ファイルパス: C:\<Path to xConnect>\App_data\jobs\continuous\IndexWorker\App_data\Config\Sitecore\SearchIndexer\sc.Xdb.Collection.IndexerSettings.xml
|
設定 |
形容 |
|---|---|
|
IncomingDataLagOnCompletion |
インデックスの再構築の最後に、インデクサーは受信データに追いつく必要があります。インデクサーがIncomingDataLagOnCompletionで指定された値より小さい場合、コアはスワップされます。 |
|
ParallelizationDegree |
インデックスの再構築中に処理されるデータの並列ストリームの数を制御します。 BatchSizeと一緒に使用して、インデックスの再構築中のメモリ使用量を調整します。 インデクサーがメモリを大量に消費している場合は、この値を小さくします。 インデクサーがメモリをあまり消費していない場合は、この値を増やしてみてください。 |
|
BatchSize |
インデックスの再構築中に並列ストリームごとに1つにロードされるコンタクトまたはインタラクションの数を制御します。インデックスの再構築中にメモリ使用量を調整するには、これをParallelizationDegreeと共に使用します。 インデックスの再構築でメモリが過剰に消費されている場合は、この値を小さくします。 インデクサーがメモリをあまり消費していない場合は、この値を増やしてみてください。 |
|
SplitRecordsThreshold |
インデクサーによってメモリに読み込まれるレコード数 (コアあたり) の制限を、任意の時点で制御します。 インデクサーがメモリを大量に使用している場合は、この値を小さくします。 分割を無効にするには、値を0または負の値に設定するか、要素を完全に削除します。 |
|
SyncLatestChangesIntervalSec |
インデクサーとデータベース間の同期を実行する頻度を制御します。秒単位で測定されます。デフォルト値は3600秒です。同期間でデータが失われないように、この値は常に 変更追跡の保持期間よりも大きくすることをお勧めします。 |
詳細については、以下をお読みください。
SCの。Xdb.Collection.Data.Sql.xml
SCの。Xdb.Collection.Data.Sql.xml
SQL xDB Collectionプロバイダーを使用している場合は、次の設定が適用されます。
ファイルパス: C:\<Path to xConnect>\App_data\jobs\continuous\IndexWorker\App_data\Config\Sitecore\Collection\sc.Xdb.Collection.Data.Sql.xml
|
設定 |
形容 |
|---|---|
|
NumberOfChangeVersions |
変更テーブルが返すトランザクション (レコードではない) の数を制御します。たとえば、500件のトランザクションには、500件をはるかに超える変更が含まれる場合があります。 インデクサーが遅れて保留中の変更の数を低く保つのを防ぐために、既定値は既定で高くなっています (50000)。ただし、値を大きくすると、インデクサーのメモリ要件が増加します。 インデクサーがメモリを大量に消費している場合は、 SplitRecordsThresholdの値を小さくしてみてください。 NumberOfChangeVersions設定を減らすと、変更テーブルからロードされるデータ(ID、ファセット・キー、および変更のタイプ)は少量しかないため、うまく機能しません。 |
|
GetChangesCommandTimeoutInSeconds |
get changesコマンドのタイムアウトを制御します。インデックス作成中にタイムアウトが発生した場合は、この値を大きくします。 |
|
CommandTimeoutInSeconds |
GETやSAVEなどのコレクション・プロバイダー・コマンドのタイムアウトを制御します。 |
|
AbsoluteExpiration |
SQLプロバイダーは、シャード化されたクラスター構成に関するメタデータをキャッシュします。この設定は、キャッシュの有効期限を制御します。 |
SCの。Xdb.Collection.IndexWriter.AzureSearch.xml
SCの。Xdb.Collection.IndexWriter.AzureSearch.xml
次の設定は、Azure Searchプロバイダーに固有です。
ファイルパス: C:\<Path to xConnect>\App_data\jobs\continuous\IndexWorker\App_data\Config\Sitecore\SearchIndexer\sc.Xdb.Collection.IndexWriter.AzureSearch.xml
|
設定 |
形容 |
|---|---|
|
MaximumUpdateBatchSize |
1つの投稿で送信される連絡先またはインタラクションの数を制御します。1000より大きくすることはできません。大規模な連絡先やインタラクションが投稿の拒否につながる場合は、この値を小さくします。 |
|
ParallelizationDegree |
複数のAzure Searchパーティションを使用する場合は、この値を増やすことをお勧めします。この値を大きくすると、メモリ消費量が増加します。 この値を変更するときは、ビジーなインデクサーのメモリ使用量を監視することをお勧めします。メモリ使用量を監視するには、パフォーマンス カウンタIndexWriteAvgTimeとIndexWriteAvgBatchSizeを使用します。 メモ この設定を構成から削除すると、プロバイダーはホスト コンピューターで使用可能なコアの数にフォールバックします。 |
|
MaximumRetryDelayMilliseconds |
負荷が原因でAzure Searchが一時的に失敗したときにプロバイダーが待機する最大時間を制御します。 Azure Searchで常に 503エラーが返される場合は、この値を増やしてみてください。値を大きくすると、システムが関連エラーを戻す時間ができる場合があります。 Azure Searchトラフィックは、早期かつ頻繁に分析することをお勧めします。 |
|
RetryCount |
プロバイダーがインデクサーにエラーを報告する前に再試行する回数を制御します。プロバイダーがこの値を超えると、エラーがログに記録されます。 MaximumRetryDelayMillisecondsと一緒に変更します。 |
|
MaximumWaitTimeoutMilliseconds |
インデクサーが変更のインデックス作成を待機する最大時間を制御します。制限に達すると、インデクサーはインデックス作成を再試行し、ログにWaiting documents in index is failed by timeoutエントリを追加します。タイムアウトの問題が繰り返し発生する場合は、Azure Searchに高い負荷がかかっていることを示しています。これが発生した場合は、Azure Searchパーティションを使用するか、設定の値を増やすことを検討してください。 |
|
DataReplicationTimeoutMilliseconds |
Azure Searchレプリカを使用している場合、この設定は、最初に変更を検出してから待機する時間を制御します。この待機時間が経過すると、インデクサーはxConnect Searchサービスに対して、変更を検索可能にすることを通知します。この遅延により、データがレプリカ間で伝播する時間を確保できます。現在、すべてのレプリカでデータが使用可能かどうかを判断する方法はないため、この設定を調整するのは困難です。 レプリカを使用していない場合は、これを0に設定できます。 |
SCの。Xdb.Collection.IndexWriter.SOLR.xml
SCの。Xdb.Collection.IndexWriter.SOLR.xml
次の設定は、Solr検索プロバイダーに固有です。
ファイルパス: C:\<Path to xConnect>\App_data\jobs\continuous\IndexWorker\App_data\Config\Sitecore\SearchIndexer\sc.Xdb.Collection.IndexWriter.SOLR.xml
|
設定 |
形容 |
|---|---|
|
MaximumUpdateBatchSize |
1つの投稿内の連絡先またはインタラクションの数を制御します。 |
|
MaximumDeleteBatchSize |
1つの投稿で削除されるコンタクトまたはインタラクションの数を制御します。通常、削除はIDに影響しますが、SolrのOR節の制限は、子ドキュメントの削除にも影響する場合があります。 |
|
MaximumCommitMilliseconds |
Solrでデータがソフトコミットされる速度をcommitWithinで制御します。 |
|
ParallelizationDegree |
複数のSolrレプリカを使用している場合は、この値を増やすことを検討してください。この値を大きくすると、メモリ消費量が増加します。 この値を変更するときは、ビジーなインデクサーのメモリ使用量を監視することをお勧めします。インデクサーを監視するには、パフォーマンス カウンター IndexWriteAvgTimeとIndexWriteAvgBatchSizeを使用します。 手記 この設定を構成から削除すると、プロバイダーはホスト コンピューターで使用可能なコアの数にフォールバックします。 |
|
MaximumRetryDelayMilliseconds |
負荷が原因でSolrが一時的に失敗したときにプロバイダーが待機する最大時間を制御します。 Solrが一貫して503エラーを返す場合は、この値を増やすことを検討してください。値を大きくすると、システムが関連エラーを戻す時間ができる場合があります。 |
|
RetryCount |
プロバイダーがインデクサーにエラーを報告する前に再試行する回数を制御します。プロバイダーがこの再試行回数に達すると、インデクサーはエラーをログに記録します。 MaximumRetryDelayMillisecondsと一緒に変更します。 |
|
Encoding |
Solr投稿のエンコードを制御します。utf-8のみがテストされています。 |