我有以下代碼,它只是搜索Solr服務器。如何在Solr中將ResponseWriter設置爲非默認值
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" />
然而,從控制檯,我仍然得到重量= 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}
有什麼我做錯了嗎?
由於
OMG!我一直都不知道。這是一個很大的退步。我需要json,因爲我的客戶端集成是Javascript。 – drecute 2012-03-07 17:37:01
這並不意味着你不能從Javascript中查詢Solr,只需使用wt = json進行一個普通的HTTP調用並在javascript中解析它即可。 SolrJ只是一個庫,可以很容易地從任何JVM語言中調用Solr。 – jpountz 2012-03-07 18:04:45
我發現json-lib很有趣。我將簡單地使用它來將XML轉換爲json,然後讓JavaScript從中取出它。 – drecute 2012-03-07 18:27:11