0
我想運行一個查詢到我的本地solr服務器(單個實例)。 我也在爲ID添加過濾器。
因此,在10000個ID的情況下,我創建了10個篩選查詢,每個篩選查詢由1000個ID組成。SocketException當運行Solr查詢與大量過濾
篩選查詢看起來是這樣的:
"id:(1 2 3 n)"
我還使用Solrj所以它是這樣:
query.addFilterQuery("id:(1 2 3 n)");
但經過某個閾值(這是1000 5分鐘前,現在它的周圍800)我開始收到例外:
org.apache.solr.client.solrj.SolrServerException: No live SolrServers available to handle this request
Caused by: org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: http://localhost:8080/solr
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:416)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:181)
at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:447)
... 37 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
我搜索了一下,但發現只有約maxB可能不是我的情況的oolean查詢
我找到了解決方案。事實證明,默認情況下,Solrj使用GET而不是POST。修復的簡單方法是使用server.query(query,SolrRequest.METHOD.POST)。 –