Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SolrJ无效的内容类型_Java_Solr_Solrj - Fatal编程技术网

Java SolrJ无效的内容类型

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

每当我在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.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收到的请求。您是否可以添加代码部分,说明如何创建
服务器
?可能您正在使用嵌入的东西,但您的目标是远程的东西。