更新时间2018-07-03 00:54:56
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.java.lang.IllegalArgumentException: Request header is too large
(tomcat报的错)
org.apache.solr.search.SyntaxError: Cannot parse ' tollgateId: 72C644A7-5E9C-4175-A43---------
too many boolean clauses at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:554)----(控制台报的错)
解决方案需要分两步解决,一个是解决tomcat的最大限量 在tomcat的conf文件下的server.xml文件在里面的
这个<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
改成这样
<Connector port="8080" maxHttpHeaderSize ="100000" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这样tomcat的错误就算是解决了,但是进行测试可以发现,tomcat里面虽然不会报错了,但是控制台里还会报错,这个错误是solr里面的最大限量造成,可以这样来修改
在你的solr_name下的core所有文件,记住是所有的core文件,里面的conf文件下的solrconfig.xml配置文件中进行修改这个
<maxBooleanClauses>1024</maxBooleanClauses>
改成
<maxBooleanClauses>10240</maxBooleanClauses>
就是把里面的数字条数增大,具体多少看你知道的需要了,但是这么配置的话就完全没有考虑效率了,这方面我也不是很懂,知道的朋友可以教教我如何快速入门,谢了。。。。
希望对你们有帮助
我觉得吧,①你可以考虑用其他方式,比如json传
②当前情况下,把字符缩减
希望对你有用呀