Java SolrJ无效的内容类型
每当我在Solr上执行查询时,即使是最简单的查询Java SolrJ无效的内容类型,java,solr,solrj,Java,Solr,Solrj,每当我在Solr上执行查询时,即使是最简单的查询*:*,我都会收到错误消息 Exception in thread "main" org.apache.solr.client.solrj.SolrServerException: Error executing query at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:100) at org.apache.solr.client.sol
*:*
,我都会收到错误消息
Exception in thread "main" org.apache.solr.client.solrj.SolrServerException: Error executing query
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:100)
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)
at com.atmire.dspace.versioning.ModificationLogger.search(ModificationLogger.java:294)
at com.atmire.dspace.versioning.ModificationsReporter.main(ModificationsReporter.java:92)
Caused by: org.apache.http.ParseException: Invalid content type:
at org.apache.http.entity.ContentType.parse(ContentType.java:233)
at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:496)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206)
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:91)
... 3 more
尽管在使用webclient或使用curl时,相同的查询可以正常运行:
curlhttp://localhost:8080/solr/versioning/select\?q\=\*%3A\*\&wt\=json\&indent\=true
我很困惑为什么查询不能在java中工作。相关的java代码
SolrQuery query = new SolrQuery().setQuery("*:*");
query.setRows(rpp).setStart(start);
QueryResponse queryResponse = solr.query(query);
return queryResponse.getResults();
SolrQuery和solr似乎都有明确设置内容类型的选项,至少我在API文档中找不到。此外,我很惊讶,如果我必须指定内容类型,那么即使我没有添加
wt=json
,它实际上也可以与curl一起工作。虽然我怀疑这是回应,而不是请求 看起来它实际上并没有指向Solr服务器。您是否可以仔细检查您以前的代码,看看您是否确实设置了正确的主机和端口(这不是您的默认设置)以及正确的集合。看起来可能它实际上没有指向Solr服务器。您是否可以仔细检查以前的代码,看看是否确实设置了正确的主机和端口(这不是您的默认设置)以及正确的集合。您是否检查了服务器端(而不是Solr)的Solr日志是否生成错误?如果SolrJ没有获得预期的二进制响应(SolrJ使用序列化的POJO IIRC),则可能会发生这种情况。Solr日志还应准确显示Solr从SolrJ收到的请求。您是否可以添加代码部分,说明如何创建服务器
?可能您使用的是嵌入式的,但您的目标是远程的。您是否检查了服务器端(而不是Solr)的Solr日志是否生成错误?如果SolrJ没有获得预期的二进制响应(SolrJ使用序列化的POJO IIRC),则可能会发生这种情况。Solr日志还应准确显示Solr从SolrJ收到的请求。您是否可以添加代码部分,说明如何创建服务器
?可能您正在使用嵌入的东西,但您的目标是远程的东西。