条件の多いSolrクエリで「(414) URI Too Long」エラーが発生する


解説

クエリの長さがSolrリクエストのヘッダー サイズの制限を超えると、検索操作が失敗する可能性があります。その際、以下のエラーがログに出力される可能性があります。

Exception: System.Net.WebException
Message: The remote server returned an error: (414) URI Too Long.
Source: System
   at System.Net.HttpWebRequest.GetResponse()
   at HttpWebAdapters.Adapters.HttpWebRequestAdapter.GetResponse()
   at SolrNet.Impl.SolrConnection.GetResponse(IHttpWebRequest request)
   at SolrNet.Impl.SolrConnection.Get(String relativeUrl, IEnumerable`1 parameters)

または

Exception: System.Net.WebException
Message: The remote server returned an error: (431) Request Header Fields Too Large.
Source: System
   at System.Net.HttpWebRequest.GetResponse()
   at HttpWebAdapters.Adapters.HttpWebRequestAdapter.GetResponse()
   at SolrNet.Impl.SolrConnection.GetResponse(IHttpWebRequest request)
   at SolrNet.Impl.SolrConnection.Get(String relativeUrl, IEnumerable`1 parameters)

解決法

この問題を解決するには、以下のオプションを検討してください。