2013-07-04 29 views
0

我的java代碼使用solr搜索值,但它以xml或jason格式提供輸出。我希望將我的輸出作爲單個值,以便我可以將它存儲在haspmap中。任何人都可以向我展示一個示例嗎?謝謝。在solr中搜索並存儲hashmap的java代碼?

+1

你能不能在你身邊展示一些努力?我們很樂意提供幫助。 – Jayendra

回答

0

您可以使用JSON或GSON將輸出轉換爲對象,然後將對象解析爲您希望的任何數據結構。

如果您是高級用戶,那麼您可以使用JAVABIN FORMAT以快速獲得結果。

0

您可以使用Google Gson,使其對對象或數組,然後將它與一個獨特的基於文檔ID,GUID存儲到HashMap中......

這裏是用戶指南Gson

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(); 
    } 

    } 
}