Solr再試行戦略の構成

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

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

操作の最初の実行試行が失敗した場合に操作を再試行するようにSolrを構成できます。これは、ネットワークの問題などの一時的なエラーが発生した場合や、Solrの可用性に問題がある場合に便利です。

再試行戦略を有効にする

使用するストラテジーは、Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.configファイルのsolrRetryerセクションで設定します。

再試行戦略を有効にするには:

  • solrRetryerノードをオーバーライドする構成インクルード ファイルを作成します。

    有効にできる戦略は3つあります。

    • NoRetryRetryer: これがデフォルトのストラテジーです。再試行はされません。次のように設定します。

      <solrRetryer type="Sitecore.ContentSearch.SolrProvider.Availability.Retryer.NoRetryRetryer, Sitecore.ContentSearch.SolrProvider" singleInstance="true" />
    • FixedIntervalsRetryer: この戦略は、指定した一定の間隔で再試行します。

      例えば、以下の構成では、Solrは (最初の試行に加えて) 3回再試行します。最初の試行は1秒後、2回目の試行は2秒後、3回目の試行は3秒後です。

      <solrRetryer type="Sitecore.ContentSearch.SolrProvider.Availability.Retryer.FixedIntervalsRetryer, Sitecore.ContentSearch.SolrProvider" singleInstance="true" >
             <sleepDurations hint="list:AddSleepDuration">
                    <interval>00:00:01</interval>
                    <interval>00:00:02</interval>
                    <interval>00:00:03</interval>
             </sleepDurations>
      </solrRetryer>
    • ExponentialRetryer: この戦略は、指数バックオフ アルゴリズムを使用して再試行します。この戦略は、次のようにして有効化および構成します。

      <solrRetryer type="Sitecore.ContentSearch.SolrProvider.Availability.Retryer.ExponentialRetryer, Sitecore.ContentSearch.SolrProvider" singleInstance="true">
             <param desc="retryCount">3</param>
             <param desc="deltaBackoff">00:00:01</param>
             <param desc="maxBackoff">00:00:05</param>
             <param desc="minBackoff">00:00:01</param>
      </solrRetryer>

カスタム再試行者を作成する

カスタムリトライャーは、他のどの戦略も自分に合わない場合に実装できます。

カスタム再試行者を作成するには:

  1. Sitecore.ContentSearch.SolrProvider.Availability.Retryer.BaseRetryerクラスを継承するクラスを作成します。

  2. 必要なメソッドを実装します。

  3. Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.configファイルのsolrRetryerセクションでカスタム リトライを有効にします。

この記事を改善するための提案がある場合は、 お知らせください!