亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

java - 使用solrj創建索引時遇到的奇怪問題?

瀏覽:118日期:2023-10-31 11:27:50

問題描述

@RequestMapping(value = '/solr', method = RequestMethod.GET)

public void getSolr() throws SolrServerException, IOException { String urlString = 'http://192.168.10.129:8983/solr/mycore'; SolrClient client = new HttpSolrClient.Builder(urlString).build(); SolrInputDocument doc = new SolrInputDocument(); doc.addField('id', 'c'); client.add(doc); client.commit();}

就是創建個索引,然后就報錯啦

Caused by: org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: http://192.168.10.129:8983/so...

at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:624)at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:279)at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:268)at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:160)at org.apache.solr.client.solrj.SolrClient.commit(SolrClient.java:484)at org.apache.solr.client.solrj.SolrClient.commit(SolrClient.java:463)at com.ansel.testall.solrController.getSolr(solrController.java:23)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)... 52 common frames omitted

Caused by: org.apache.http.NoHttpResponseException: 192.168.10.129:8983 failed to respond

at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:257)at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:207)at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:684)at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:515)... 71 common frames omitted

doc是被add進去了,但是commit失敗了。

如果把add doc和commit分成2次請求就沒問題了,如下:

@RequestMapping(value = '/solr', method = RequestMethod.GET) public void getSolr() throws SolrServerException, IOException {String urlString = 'http://192.168.10.129:8983/solr/mycore';SolrClient client = new HttpSolrClient.Builder(urlString).build();SolrInputDocument doc = new SolrInputDocument();doc.addField('id', 'c');client.add(doc); } @RequestMapping(value = '/solr2', method = RequestMethod.GET) public void getSolr2() throws SolrServerException, IOException {String urlString = 'http://192.168.10.129:8983/solr/mycore';SolrClient client = new HttpSolrClient.Builder(urlString).build();client.commit(); }

執行query操作也沒有問題。

solr:6.60

jdk:1.8

iteye上一個類似的情況:

http://www.iteye.com/problems...

問題解答

回答1:

臨時解決方案,使用如下方法提交:

UpdateRequest req = new UpdateRequest();req.setAction(UpdateRequest.ACTION.COMMIT, false, false);req.add(doc);UpdateResponse rsp = req.process(client);

https://wiki.apache.org/solr/...上找到的,這個是部分譯文http://www.cnblogs.com/llz502...

為什么這樣就可以了呢?還是好奇怪

標簽: java
相關文章:
主站蜘蛛池模板: 成年女人免费观看视频 | 亚洲一区二区视频 | 欧美日韩精品国产一区二区 | 欧美亚洲国产精品久久 | 免费黄色在线网址 | 欧美精品免费看 | 国产免费久久精品99久久 | 亚洲精品国产高清不卡在线 | 步兵社区在线观看 | 亚洲高清视频在线播放 | 久久精品国产国产精品四凭 | 免费午夜扒丝袜www在线看 | 加勒比综合在线 | 三级com| 一区二区三区在线观看视频 | 亚洲入口| 久久18| 在线国产二区 | 在线精品一区二区三区 | 国产精品一区亚洲一区天堂 | 日本久久免费 | 在线观看国产区 | 手机看片久久国产免费不卡 | 一区二区三区欧美在线 | 国内自拍视频一区二区三区 | 成人久久久 | 一级做a爰片欧美一区 | 亚洲精品久久一区二区无卡 | 日韩一级 | 欧美三级香港三级日本三级 | 亚洲精品一区 | 国产大片一区 | 亚洲一区浅井舞香在线播放 | 国产成人成人一区二区 | a久久99精品久久久久久不 | 亚洲精品一区二区中文 | 免费一级视频在线播放 | 成人欧美精品久久久久影院 | 精品一区二区三区高清免费不卡 | 日本精品中文字幕有码 | 成年人在线观看网站 |