2012-05-29 97 views
0
{responseHeader={status=0,QTime=0,params={q=ketan,wt=[javabin,javabin],version=2.2}},response={numFound=1,start=0,docs=[SolrDocument[{user_first_name=Ketan, customerid=5,killname=Hockey, areaname=Paud, categoryname=Sports, last_name=Kore, statename=Maharashtra, cityname=Pune, contactno=124555698}]]}} 

我已收到此響應SOLR並希望從此獲取JSONObject SOlr Document。 請幫我解析這個迴應。來自SOLR的解析響應

回答

0

你提到的字符串是一個json字符串(json是Javascript Object Notation)。嘗試使用java-json lib來解碼它。 Here is an example

0

您需要使用哈希表進行的JSONObject,solrj不支持JSON格式輸出截至目前

0

我發現這個職位非常有用。雖然當問這個問題的時候是這樣,但當我得到同樣的問題時,它也可能幫助其他人。我使用Google API for JSON解決了此問題 - GSON。

Solr給出的響應不是JSON格式。我們需要將其轉換。 我從solr檢索到響應並將其轉換爲json對象。

本來,我的反應是:

{docs=[SolrDocument{id=1, uuid=7fe08f79-e184-454d-908f-08b32583a822, packName=Workflow Logger-Pack, packDescription=Workflow Logger-Pack, packAuthor=NetApp, packVersion=1.0.0, packDate=May 22, 2014, 3:10 pm, entityName=[Workflow Logger, Wait, Logging cmd, Test cmd for multiple Parameter Types], entityDescription=[Workflow Logger, Wait Command, Logging command, Test cmd for multiple Parameter Types], entityType=[Workflow, Command, Command, Command], _version_=1468794552324194304}, SolrDocument{id=2, uuid=7fe08f79-e184-454d-908f-08b32583a822, packName=Workflow Logger-Pack New, packDescription=Workflow Logger-Pack, packAuthor=NetApp, packVersion=2.0.0, packDate=May 22, 2014, 3:13 pm, entityName=[Workflow Logger, Wait, Logging cmd, Test cmd for multiple Parameter Types], entityDescription=[Workflow Logger, Wait Command, Logging command, Test cmd for multiple Parameter Types], entityType=[Workflow, Command, Command, Command], _version_=1468794760693022720}, SolrDocument{id=3, uuid=7fe08f79-e184-454d-908f-08b32583a822, packName=Workflow Logger-Packs updated, packDescription=Workflow Logger-Pack, packAuthor=NetApp, packVersion=3.0.0, packDate=May 22, 2014, 3:32 pm, entityName=[Workflow Logger, Wait, Logging cmd, Test cmd for multiple Parameter Types], entityDescription=[Workflow Logger, Wait Command, Logging command, Test cmd for multiple Parameter Types], entityType=[Workflow, Command, Command, Command], _version_=1468795898385399808}, SolrDocument{id=5, uuid=7fe08f79-e184-454d-908f-08b32583a822, packName=Workflow Logger-Pack New, packDescription=Workflow Logger-Pack, packAuthor=NetApp, packVersion=2.0.0, packDate=June 17, 2014, 7:02 am, entityName=[Workflow Logger, Wait, Logging cmd, Test cmd for multiple Parameter Types], entityDescription=[Workflow Logger, Wait Command, Logging command, Test cmd for multiple Parameter Types], entityType=[Workflow, Command, Command, Command], _version_=1471140110510587904}]} 

我的代碼:

HttpSolrServer server= new HttpSolrServer("http://localhost:8983/solr"); 
     server.setParser(new XMLResponseParser()); 

     Gson gson= new Gson(); 

     SolrQuery solrQuery = new SolrQuery(); 
     solrQuery.setQuery("*:*"); 

     solrQuery.setHighlight(true); 

     solrQuery.setHighlightRequireFieldMatch(true); 
     QueryResponse response= server.query(solrQuery); 
     SolrDocumentList docs = response.getResults(); 

     String res= gson.toJson(docs); 
     System.out.println(res); 

現在,它被轉換成JSON爲:

[ 
    { 
    "id": "1", 
    "uuid": "7fe08f79-e184-454d-908f-08b32583a822", 
    "packName": "Workflow Logger-Pack", 
    "packDescription": "Workflow Logger-Pack", 
    "packAuthor": "NetApp", 
    "packVersion": "1.0.0", 
    "packDate": "May 22, 2014, 3:10 pm", 
    "entityName": [ 
     "Workflow Logger", 
     "Wait", 
     "Logging cmd", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityDescription": [ 
     "Workflow Logger", 
     "Wait Command", 
     "Logging command", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityType": [ 
     "Workflow", 
     "Command", 
     "Command", 
     "Command" 
    ], 
    "_version_": 1468794552324194300 
    }, 
    { 
    "id": "2", 
    "uuid": "7fe08f79-e184-454d-908f-08b32583a822", 
    "packName": "Workflow Logger-Pack New", 
    "packDescription": "Workflow Logger-Pack", 
    "packAuthor": "NetApp", 
    "packVersion": "2.0.0", 
    "packDate": "May 22, 2014, 3:13 pm", 
    "entityName": [ 
     "Workflow Logger", 
     "Wait", 
     "Logging cmd", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityDescription": [ 
     "Workflow Logger", 
     "Wait Command", 
     "Logging command", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityType": [ 
     "Workflow", 
     "Command", 
     "Command", 
     "Command" 
    ], 
    "_version_": 1468794760693022700 
    }, 
    { 
    "id": "3", 
    "uuid": "7fe08f79-e184-454d-908f-08b32583a822", 
    "packName": "Workflow Logger-Packs updated", 
    "packDescription": "Workflow Logger-Pack", 
    "packAuthor": "NetApp", 
    "packVersion": "3.0.0", 
    "packDate": "May 22, 2014, 3:32 pm", 
    "entityName": [ 
     "Workflow Logger", 
     "Wait", 
     "Logging cmd", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityDescription": [ 
     "Workflow Logger", 
     "Wait Command", 
     "Logging command", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityType": [ 
     "Workflow", 
     "Command", 
     "Command", 
     "Command" 
    ], 
    "_version_": 1468795898385399800 
    }, 
    { 
    "id": "5", 
    "uuid": "7fe08f79-e184-454d-908f-08b32583a822", 
    "packName": "Workflow Logger-Pack New", 
    "packDescription": "Workflow Logger-Pack", 
    "packAuthor": "NetApp", 
    "packVersion": "2.0.0", 
    "packDate": "June 17, 2014, 7:02 am", 
    "entityName": [ 
     "Workflow Logger", 
     "Wait", 
     "Logging cmd", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityDescription": [ 
     "Workflow Logger", 
     "Wait Command", 
     "Logging command", 
     "Test cmd for multiple Parameter Types" 
    ], 
    "entityType": [ 
     "Workflow", 
     "Command", 
     "Command", 
     "Command" 
    ], 
    "_version_": 1471140110510588000 
    } 
] 

希望它能幫助。