Solr POST 请求 returns 400。Java。当请求的大小太大时

Solr POST Request returns 400. Java. When size of request is too large

我正在使用 POST 请求向 solr 发送查询。一切正常。有一种情况,我必须在过滤器查询中发送一些字符串,例如:

fq=id:("id1""id2""id3")

当过滤器查询的长度超过某个阈值时,我不断收到 Err 400: Bad Request。

此错误来自我正在使用的 solr 之上的底层 Jetty 服务器。

解决这个问题的方法是什么?我应该增加 Jetty 中 post 请求正文的大小吗?

谢谢!

增加以下值并尝试...

<maxBooleanClauses>1024</maxBooleanClauses>

这设置了布尔查询中允许的最大子句数。这可能会影响扩展为具有大量布尔项的查询的范围或前缀查询。如果超过这个限制,就会抛出异常。

查看更多信息

https://cwiki.apache.org/confluence/display/solr/Query+Settings+in+SolrConfig