クエリの長さが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)
この問題を解決するには、以下のオプションを検討してください。
<set name="requestHeaderSize"> <property name="solr.jetty.request.header.size" default="8192" /> </set>変更後:
<set name="requestHeaderSize"> <property name="solr.jetty.request.header.size" default="16386" /> </set>
<?xml version="1.0" encoding="utf-8" ?> <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:search="http://www.sitecore.net/xmlconfig/search/"> <sitecore search:require="solr"> <contentSearch> <indexConfigurations> <solrConnectionConfigurations> <solrConnectionConfiguration name="query"> <timeout>0</timeout> <usePost>true</usePost> </solrConnectionConfiguration> </solrConnectionConfigurations> </indexConfigurations> </contentSearch> </sitecore> </configuration>詳細につきましては、以下の記事を参照してください。
<?xml version="1.0" encoding="utf-8" ?> <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:search="http://www.sitecore.net/xmlconfig/search/"> <sitecore search:require="solr"> <settings> <setting name="ContentSearch.Solr.SendPostRequests" value="true"/> </settings> </sitecore> </configuration>