It is usually a limitation in the servlet container. You could try using embedded Solr or using an HTTP POST instead of an HTTP GET. However, in this case it is probably not possible.
If these long filter queries never change, you could embed these in the solrconfig.xml declaration for a request handler. That way, they don't get parsed by the HTTP parser. 2010/3/10 Kranti™ K K Parisa <kranti.par...@gmail.com>: > Hi, > > I am trying to test the SOLR search with very big query.. sample code > snippet is as follows. when I try that its throwing exceptions. > > Is SOLR query has any limitations with size or length..etc?? > > ========================================================= > solrServer = SolrUtils.getSolrServerTest("http://localhost:8080/solr-tag > "); > StringBuffer strFq = new StringBuffer("&fq=("); > SolrQuery q = new SolrQuery("*:*"); > int intStart = 934051; > for(int m=intStart;m<(intStart+500);m++){ > strFq.append("fieldname:" + m + " OR "); > } > strFq.replace(strFq.lastIndexOf(" OR "), strFq.length() - 1, ""); > strFq.append(")"); > q.addFilterQuery(strFq.toString()); > QueryResponse res = solrServer.query(q); > System.out.println("response=========="+res.getResponse()); > ========================================================== > > but getting the following exception > Exception in thread "main" org.apache.solr.client.solrj.SolrServerException: > java.net.SocketException: Software caused connection abort: recv failed > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:472) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243) > at > org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89) > at > org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:118) > at com.getset.inre.test.IndexTest.testTagIndex(IndexTest.java:311) > at com.getset.inre.test.IndexTest.main(IndexTest.java:330) > Caused by: java.net.SocketException: Software caused connection abort: recv > failed > at java.net.SocketInputStream.socketRead0(Native Method) > at java.net.SocketInputStream.read(SocketInputStream.java:129) > at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) > at java.io.BufferedInputStream.read(BufferedInputStream.java:235) > at > org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) > at > org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) > at > org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116) > at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413) > at > org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973) > at > org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735) > at > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098) > at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) > at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:416) > ... 5 more > ============================================= > > > Best Regards, > Kranti K K Parisa > -- Lance Norskog goks...@gmail.com