0

我的 java 代码使用 solr 搜索值。但它以 xml 或 jason 格式提供输出。我希望我的输出作为单个值,以便我可以将其存储在 haspmap 中。谁能给我一个例子?提前谢谢。

4

3 回答 3

0

您可以使用Google Gson使其成为对象或数组,然后将其存储到哈希图中,并根据文档 ID、guid...

这是Gson的用户指南

于 2013-07-04T06:38:19.617 回答
0

您可以使用 JSON 或 GS​​ON 将输出转换为对象,然后将对象解析为您希望的任何数据结构。

如果您是高级用户,那么您可以快速获得 JAVABIN FORMAT 的结果。

于 2013-07-04T10:57:20.633 回答
0

这是通过使用 SolrJ API 我们可以实现您所需要的。

import java.util.Map;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;

public class NewSolrResponse {

/**
 * @param args
 */
public static void main(String[] args) {
    HttpSolrServer solrServer = new HttpSolrServer("http://youtHost:port/Solr"); //set your URL where your index data pointing to
    SolrQuery query = new SolrQuery("   ") ; // set your query String ;
    try {
         QueryResponse queryResponse = solrServer.query(query);
         SolrDocumentList solrDocumentList = queryResponse.getResults();
         for (SolrDocument solrDocument : solrDocumentList) {
             Map<String, Object> yourParamMap =   solrDocument.getFieldValueMap(); /// Here you will get Fields and their Values
        }


    } catch (SolrServerException e) {

        e.printStackTrace();
    } 

    }
}
于 2013-07-05T10:16:57.910 回答