検索設定をSolrの利用可能性に合わせて調整してください

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

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

SitecoreにはSolr検索の利用可能性を監視し、Solrのダウンタイムに強靭に対応する仕組みが含まれています。これらの仕組みとSolrエンドポイントを使って、Solr検索の利用可能性に合わせて実装を適応させることができます。Solr 8以降を使用している場合、Sitecore IsSolrAliveAgentを使って定期的にSolrサービスの利用可能性や健全性をチェックし、Solrのコンテンツ検索インデックスや検索動作を管理IndexingStateSwitcherできます。Solrサーバーが利用可能になると、エージェントは自動的に検索およびインデックス機能をSitecore復元するため、管理者Sitecore何もする必要はありません。 IsSolrAliveAgentとIndexingStateSwitcherの両方がデフォルトで有効化されています。この記事では、その使い方と必要に応じてデフォルトのタイムアウト値を変更する方法について説明します。

さらに、Solrが提供する /solr/healthz/readyエンドポイントを使ってSolrサーバーの健全性や準備状況を監視し、必要に応じてSolrサービスを再起動することもできます。また、クエリを実行するたびにSolr検索サービスが利用可能かどうかも確認 できます。

!注Solr検索は の内部UIでのみ利用されており、変更してはいけません。検索機能を作成する場合は、Sitecore Searchなどの検索ツールをご利用ください。環境にSitecore Searchを統合する詳細は 、「Sitecore Searchの統合」を参照してください。

IsSolrAliveエージェント

IsSolrAliveAgent Solrサービスが実行中で応答しているかを確認します。エージェントは /solr/{core_name}/admin/healthcheckや /solr/admin/info/systemなどのSolrエンドポイントにHTTPリクエストを送ります。Solrがタイムリーな応答を送らなかったり、エラーメッセージを返した場合は、UnreachableまたはNot respondingとみなされます。その後、エージェントはSitecoreログに警告メッセージを記録します。この2つの状態を区別することが重要です:

  • 到達不可 - ネットワークの問題やファイアウォール制限など、Solrサーバーとの通信が阻まれている問題です。
  • 応答しない - サーバーはリクエストを受け取りましたが、サーバーの過負荷や設定エラーのため、タイムリーかつ成功した応答を提供できませんでした。

Solrサーバーに到達できない場合、Sitecoreにエラーメッセージを返します。しかし、定められたタイムアウト時間内に全く応答しない場合は、応答しないとみなされます(Not responding)。これらのシナリオを区別するためにタイムアウト値を調整できます。これは このトピックの後述で説明します。

インデックス状態切り替え器

IndexingStateSwitcher Solrサービスの可用性に基づいてインデックス作成および検索動作を制御します。インデックス操作がSolrの可用性と同期され、データの整合性が保たれることを保証します。Solrが利用不可と検出された場合、このエージェントはインデックス操作を一時停止し、データの不整合やエラーを防ぐことができます。また、ダウンタイム中にインデックス要求がSolrに過剰負荷をかけるのを防ぐのにも役立ちます。Solrが再び利用可能になると、IndexingStateSwitcherエージェントは自動的にインデックス操作を再開します。

IndexingStateSwitcherのタイムアウト値は以下のセクションで説明するように設定できます。

エージェントのタイムアウト値を設定します

IsSolrAliveAgentとIndexingStateSwitcherのタイムアウト値は、interval属性を使って秒単位で定義されます。タイムアウト設定はApp_Config\Includeフォルダ内の構成パッチで変更できます。Solrの接続タイムアウトも指定できます。

パッチファイルを使ってIsSolrAliveAgentまたはIndexingStateSwitcherエージェントのタイムアウト値を設定するには:

!注XM Cloudは現在SitecoreAIですエンジニアリング資産が更新されている間、一部のコード例、画像、UIラベルは引き続きXM Cloudを使用する場合があります。

  1. 例えば、App_Config\Includeフォルダに.configファイルを作成します。Sitecore.ContentSearch.Solr.config。

    Folder structure and path to the App Config folder for adding a configuration file to change timeout values
  2. 設定ファイルに以下のコード構造を入力し、必要に応じてエージェントのintervalを変更します。以下の例では、間隔はそれぞれ15秒と3秒に設定されています。

  3. Sitecoreアプリケーションを再起動してください。

  4. ファイルを保存した後、https://{sitecore_instance_name}/sitecore/admin/showconfig.aspxに反映された変更を確認し、{sitecore_instance_name} を自分のインスタンスに置き換えることができます。

    Code sample that shows how to configure the timeout value for Sitecore Solr agents
この記事を改善するための提案がある場合は、 お知らせください!