Search code examples
solrsolrnet

SolrNet/Solr - Large set of range queries causing 400 bad request


Running Solr on Tomcat 7 on Win 2008 Server.

I am looping through a number of variables and creating a set of range queries to create a query containing more than 500 clauses.

List<ISolrQuery> queryList = new List<ISolrQuery>();

//THis is for var 1 , I have 6 sets of vars like this...
for (int n = 0; n < N; n++)
                {
                    queryList.Add(new SolrQueryByRange<double>("VAR1_" + n, val1[n] * lowerbound, val1[n] * upperBound));
                }

//...var 2
for (int n = 0; n < N; n++)
                {
                    queryList.Add(new SolrQueryByRange<double>("VAR2_" + n, val2[n] * lowerbound, val2[n] * upperBound));
                }

//...var 3... and so on...

var results = solr.Query(new SolrMultipleCriteriaQuery(queryList.ToArray<ISolrQuery>(),"OR"), new QueryOptions
            {
                Rows = 100,
                Fields = new[] { "FileName, ID,score" },
                Facet = new FacetParameters
                {
                    Queries = new[] 
                    { 
                        new SolrFacetFieldQuery("Extension"), 
                        new SolrFacetFieldQuery("FileName"), 
                    }
                }
            });

I am getting a 400 bad request back from solr. The query works fine, when I run just 1 var. I am assuming this is some bool query limitation in solr. I did set the maxBoolClauseCount (from 1024) to 9999. BUt the error persists.

Any ideas?


Solution

  • Could it be because it is running into default GET para meter size limit of jetty?

    Please refer to this answer Solr search query returning full head exception .