如何通过SolrJ使用/export请求处理程序?

如何通过SolrJ使用/export请求处理程序?,solr,solrj,Solr,Solrj,我用的是Solr4.10 我已经为索引启用了/export请求处理程序,方法是将其添加到solrconfig.xml(如下所述:): 查询现在有一个参数&qt=export。它爆炸了,给了我: org.apache.solr.client.solrj.SolrServerException: Error executing query 更多搜索建议使用SolrRequest而不是SolrQuery,我尝试了: SolrQuery query = new SolrQuery(); ... que

我用的是Solr4.10

我已经为索引启用了
/export
请求处理程序,方法是将其添加到
solrconfig.xml
(如下所述:):

查询现在有一个参数
&qt=export
。它爆炸了,给了我:

org.apache.solr.client.solrj.SolrServerException: Error executing query
更多搜索建议使用
SolrRequest
而不是
SolrQuery
,我尝试了:

SolrQuery query = new SolrQuery();
...
query.setRequestHandler("/export");
SolrRequest solrRequest = new QueryRequest(query);
httpSolrServer.request(solrRequest);
现在我得到:

java.nio.charset.UnsupportedCharsetException: gzip
有什么想法吗


---编辑---

我在
httpSolrServer.request()
中找到了一个添加
ResponseParser
的选项。我找到了4个
ResponseParser
s。他们都试过了,唯一有效的是
NoOpResponseParser
。现在我得到了正确的结果,但在
NamedList
中作为一个普通字符串转储到单个条目中。我试图将其解析为JSON,但格式不正确。每30000个文档都有一个缺少的

我返回到
solrconfig.xml
,并将
/export
处理程序中的
wt
xsort
更改为
json
。现在响应格式已更改,但格式也不正确(数据不完整)!!!!。而且
XML
不是 支持


我真的很困惑

你的Solr有可能支持代理吗?我不认为Solr后端正在压缩输出。你能用Wireshark之类的东西追踪网络请求吗?它可能会给你一些提示。我没有任何代理。我会试着去做。
SolrQuery query = new SolrQuery();
...
query.setRequestHandler("/export");
SolrRequest solrRequest = new QueryRequest(query);
httpSolrServer.request(solrRequest);
java.nio.charset.UnsupportedCharsetException: gzip