如何指定 SolrQuery 以 json 格式返回数据?下面是我用来查询数据的代码:一旦我得到 SolrDocument,我如何将它转换为 json 对象/字符串?
SolrQuery sQuery = new SolrQuery();
sQuery.setQuery("name:test");
QueryResponse resp = server.query(sQuery);
SolrDocumentList docs = resp.getResults();
从 solrj 导入 JSONUtil 类,它具有 solr 文档的 json 转换器,或者如果您看到该类的代码,您可以轻松编写一个:
import org.apache.noggit.JSONUtil;
SolrQuery sQuery = new SolrQuery();
sQuery.setQuery("name:test");
QueryResponse resp = server.query(sQuery);
SolrDocumentList docs = resp.getResults();
String returnValue = JSONUtil.toJSON(docs); //this has the json documents
您也可以使用GSON来完成。
SolrDocumentList SolrResponse = searchWithSolr();
Gson gson = new Gson();
if (SolrResponse.size()!=0) {
System.out.println(gson.toJson(SolrResponse));
interpolMap.put("interpol", gson.toJson(InterpolSolrResponse));
}