如何在 Solr 中将 ResponseWriter 设置为非默认

2023-12-26

我有以下代码,它只是搜索 Solr 服务器。

SolrServer server = new CommonsHttpSolrServer(url);
SolrQuery searchquery = new SolrQuery("company profile");
QueryResponse response = server.query(searchquery)

我想要 json 格式的响应,而不是默认的 xml 格式。因此,我进入 solrconfig.xml 文件并启用以下行:

<queryResponseWriter name="json" class="org.apache.solr.request.JSONResponseWriter" />

但是,从控制台,我仍然将 wt=javabin 编码到搜索查询请求中。

另外,我对上面的代码进行了如下修改:

SolrServer server = new CommonsHttpSolrServer(url);
SolrQuery searchquery = new SolrQuery("company profile");
searchquery.setParam("wt", "json");
QueryResponse response = server.query(searchquery)

但我仍然得到wt=javabin编码和wt=json还附加了查询,这样查询现在看起来像这样:

webapp/solr path=/select params={wt=javabin&wt=json}

我做错了什么吗?

Thanks


SolrJ 仅支持javabin and xml格式(可配置为CommonHttpSolrServer.setParser http://lucene.apache.org/solr/api/org/apache/solr/client/solrj/impl/CommonsHttpSolrServer.html#setParser%28org.apache.solr.client.solrj.ResponseParser%29).

但为什么要使用 JSON? Javabin 是迄今为止提供最佳解压缩速度的格式,其缺点是它不可读,与 JSON 和 XML 相反(在这种情况下这不是问题,因为 SolrJ 正在为您解析结果)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Solr 中将 ResponseWriter 设置为非默认 的相关文章

随机推荐