public static void main(String[] args) throws Exception { SolrServer server = new HttpSolrServer("http://localhost:8080/solr/db"); //SolrServer server = new CommonsHttpSolrServer( "http://localhost:8080/solr/db" ); SolrQuery params = new SolrQuery(); params.set("q", "nickname:baoyou"); params.set("start", 0); params.set("rows", Integer.MAX_VALUE); params.set("sort", "userid asc"); params.set("fl", "*,score"); QueryResponse response = null; SolrDocumentList list = null; try { response = server.query(params); } catch (SolrServerException e) { e.printStackTrace(); } if(response!=null){ System.out.println("Search Results: "); list = response.getResults(); System.out.println(list.size()); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } JSONArray jsonArray = new JSONArray(); for (Iterator<SolrDocument> it = list.iterator(); it.hasNext(); ) { SolrDocument document = it.next(); JSONObject jsonObject = new JSONObject(); for(Iterator<Entry<String, Object>> it2 = document.iterator(); it2.hasNext();) { Entry<String, Object> entry = it2.next(); try { jsonObject.put(entry.getKey(), entry.getValue()); } catch (JSONException e) { throw new Exception("can not convert solr data to json", e); } } jsonArray.put(jsonObject); } System.out.println(jsonArray.toString()); }
?
?
?
?
????????????
?
?????
?
????
?
????
?
?????? solrJ 提供了一组API,来帮助我们创建查询,下面是一个faceted query的例子。
?所有的 setter/add 方法都是返回它自己本身的实例,所以就像你所看到的一样,上面的用法是链式的
?
?
?
?
?
?
?
?
原文:http://knight-black-bob.iteye.com/blog/2216343