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