[英]SocketException while running Solr Query with lots of filtering
我正在嘗試對本地solr服務器(單個實例)運行查詢。 我還添加了ID過濾器。
因此,在10000個ID的情況下,我創建了10個過濾查詢,每個查詢由1000個ID組成。
過濾查詢如下所示:
"id:(1 2 3 n)"
我也在使用Solrj,所以它像這樣:
query.addFilterQuery("id:(1 2 3 n)");
但是經過一些閾值(大約是5分鍾前的1000,現在大約是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
我四處搜尋,但只發現了關於maxBoolean查詢的情況,這可能與我無關
是的,伊戈爾,
你是對的。
默認情況下,Solrj使用GET而不是POST。 因此,您必須使用server.query(query,SolrRequest.METHOD.POST)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.