Java xml格式的solr响应

Java xml格式的solr响应,java,solr,Java,Solr,我试图使用某些字段查询Solr,并且希望得到XML格式的响应。不知何故,即使我将解析器设置为XMLResponseParser,我也无法获得XML格式的响应。请检查代码并让我知道这里出了什么问题: HttpSolrServer-solr=newhttpsolrserver(urlString); 字符串queryString=“*:*”; SolrQuery query=新的SolrQuery(queryString); query.setQuery(queryString); 设置字段(“类型

我试图使用某些字段查询Solr,并且希望得到XML格式的响应。不知何故,即使我将解析器设置为
XMLResponseParser
,我也无法获得XML格式的响应。请检查代码并让我知道这里出了什么问题:

HttpSolrServer-solr=newhttpsolrserver(urlString);
字符串queryString=“*:*”;
SolrQuery query=新的SolrQuery(queryString);
query.setQuery(queryString);
设置字段(“类型”、“类型字符串”);
query.addFilterQuery(“id”);
query.setStart(0);
query.setRows(100);
setParser(新的XMLResponseParser());
QueryResponse resp=solr.query(查询);
SolrDocumentList结果=resp.getResults();
对于(int i=0;i
您的代码正在使用
SolrJ
作为
Solr
客户端。这样做完全是为了避免处理XML响应,而且它提供了一种干净的方法,可以将
Solr
结果作为对象返回到代码中

如果希望获得原始xml响应,只需选择任何java HTTP客户端,构建请求并将其发送到
Solr
。您将得到一个漂亮的XML字符串


注意:您可以使用来构建URL的查询部分

,正如Grooveek已经编写的那样,SolrJ旨在将XML解析从您作为库用户的身上带走。如果要查看XML,需要自己获取响应

SolrQuery query=newsolrquery(“*:*”);
//设置indent==true,以便格式化xml输出
set(“缩进”,true);
//使用org.apache.solr.client.solrj.util.ClientUtils
//使SolrQuery的URL兼容查询字符串
字符串urlQueryString=ClientUtils.toQueryString(查询,false);
字符串solrURL=”http://localhost:8080/solr/shard-1/选择“;
URL=新URL(solrURL+urlQueryString);
//使用org.apache.commons.io.IOUtils为您执行http处理
字符串xmlResponse=IOUtils.toString(url);
//看一看
System.out.println(xmlResponse);

我们可以将SolrDocumentList转换为xml格式吗?