lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Heisey <apa...@elyograg.org>
Subject Re: Query String Limit
Date Thu, 05 May 2016 15:14:47 GMT
On 5/4/2016 10:45 PM, Prasanna S. Dhakephalkar wrote:
> We had increased the maxBooleanClauses to a large number, but it did not
> work

It looks like you have 1161 values here, so maxBooleanClauses does need
to be increased beyond the default, but the error message would be
different if that limit were being reached.

The problem seems to be that this URL is 8251 bytes long, counting the
extra space after json, which a browser would likely expand to three
characters, making it 8253 bytes long.  Every webserver I have ever
looked at has a default 8192 byte limit on HTTP headers -- the actual
header here would have "GET " before the URL and " HTTP/1.1" after it,
so there's a potential header size of 8266 bytes here -- which won't
work if the server config is left alone.

You have two choices.  You must either bump up the max header size in
the Jetty config, or change to a POST request instead of a GET request,
and put the query parameters in the POST body.

In 5.x and 6.x, the server/etc/jetty.xml config already has a line for
the requestHeaderSize, you just need to change the number.  This is from
my config -- we have queries up to 20K in size:

    <Set name="requestHeaderSize"><Property
name="solr.jetty.request.header.size" default="32768" /></Set>

As you can see, this config uses a property.  You could add
"-Dsolr.jetty.request.header.size=32768" to your Solr startup options
and achieve the same result.  Personally, I just edit jetty.xml -- which
I need to remember to do again when I upgrade Solr.

I need to check whether we are using POST in our code or not.  That
would solve the entire issue.

Thanks,
Shawn


Mime
View raw message