SolrをSitecoreの検索プロバイダーとして使用する場合、パフォーマンスを向上させるためにさまざまなSitecore設定を調整することができます。
パフォーマンスが低い場合に起きる症状として次のようなものが考えられます:
註:これらはSitecore固有の設定であり、Solrの設定ではありません。Solrの構成については、Solrのドキュメントを参照してください。
Sitecore のパフォーマンスを向上させるには、次のいずれかの設定を構成できます。
検索プロバイダーが取得するように要求される検索結果の数を制御します。
要求されたドキュメントが多数あると、すべての結果を逆シリアル化する必要があるため、Solrサーバー、ネットワーク、およびSitecoreに負担がかかります。
設定の値は、TakeまたはPage LINQ拡張機能を使用してクエリごとにオーバーライドできます。
クエリで要求されたドキュメントの数を常に指定するようお勧めします。
セーフティ ネットとして、ContentSearch.SearchMaxResults設定の値を減らすことをご検討ください。
Sitecoreの実装全体の一部として正確な値を慎重に評価し、開発プロセス中に徹底的にテストする必要があります。
注意:この設定は、すべてのSitecore XP インスタンスにパッチを適用する必要があります。
Sitecore XP用のSolrの設定と検索結果の最大化の詳細については、「チュートリアル: Solr の設定」の記事を参照してください。
この設定は、Solrに送信される変更がコミットされ、検索可能になるまでに経過できるミリ秒数を決定します。
トラフィックが多い際、Sitecore XPはxConnect検索サービスに大きな負荷をかける場合があります。Solrを検索プロバイダーとして使用する場合、実装ではxConnect検索サービスの平均応答時間が長くなる可能性があります。この設定を調整することでこの事象に対処できます。
パフォーマンスの問題が発生した場合は、xConnect検索サービスの\App_data\jobs\continuous\IndexWorker\App_data\Config\Sitecore\SearchIndexer\sc.Xdb.Collection.IndexWriter.SOLR.xmlファイルでMaximumCommitMilliseconds設定をより大きな値に変更できます。
<MaximumCommitMilliseconds>600000</MaximumCommitMilliseconds>
備考:xDBインデックスをほぼリアルタイムで更新することが貴社ソリューションにおいて重要である場合、設定を可能な限りデフォルト値に近づける必要があります。
xConnect 検索インデックス サービスの詳細については、ご利用のXPソリューションのバージョンに応じた「xConnect Search Indexer の設定」の記事を参照してください。