- java-使用solrj创建索引时遇到的奇怪问题?
-
聚码交流
-
0
0

- yhuxAvNbtxUM
0000-00-00 00:00:00
- 回帖
@RequestMapping(value="/solr",method=RequestMethod.GET)publicvoidgetSolr()throwsSolrServerException,IOException{StringurlString="http://192.168.10.129:8983/solr/mycore";SolrClientclient=newHttpSolrClient.Builder(urlString).build();SolrInputDocumentdoc=newSolrInputDocument();doc.addField("id","c");client.add(doc);client.commit();}就是创建个索引,然后就报错啦Causedby:org.apache.solr.client.solrj.SolrServerException:IOExceptionoccuredwhentalkingtoserverat:http://192.168.10.129:8983/so...atorg.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:624)atorg.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:279)atorg.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:268)atorg.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:160)atorg.apache.solr.client.solrj.SolrClient.commit(SolrClient.java:484)atorg.apache.solr.client.solrj.SolrClient.commit(SolrClient.java:463)atcom.ansel.testall.solrController.getSolr(solrController.java:23)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)atorg.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)atorg.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)atorg.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)atorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)atorg.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)atorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)...52commonframesomittedCausedby:org.apache.http.NoHttpResponseException:192.168.10.129:8983failedtorespondatorg.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)atorg.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)atorg.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)atorg.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)atorg.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:257)atorg.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:207)atorg.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)atorg.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)atorg.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:684)atorg.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)atorg.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)atorg.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)atorg.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)atorg.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:515)...71commonframesomitteddoc是被add进去了,但是commit失败了。如果把adddoc和commit分成2次请求就没问题了,如下:@RequestMapping(value="/solr",method=RequestMethod.GET)publicvoidgetSolr()throwsSolrServerException,IOException{StringurlString="http://192.168.10.129:8983/solr/mycore";SolrClientclient=newHttpSolrClient.Builder(urlString).build();SolrInputDocumentdoc=newSolrInputDocument();doc.addField("id","c");client.add(doc);}@RequestMapping(value="/solr2",method=RequestMethod.GET)publicvoidgetSolr2()throwsSolrServerException,IOException{StringurlString="http://192.168.10.129:8983/solr/mycore";SolrClientclient=newHttpSolrClient.Builder(urlString).build();client.commit();}执行query操作也没有问题。solr:6.60jdk:1.8iteye上一个类似的情况:http://www.iteye.com/problems...