importcom.alibaba.fastjson.JSONObject;importorg.apache.solr.client.solrj.SolrClient;importorg.apache.solr.client.solrj.SolrQuery;importorg.apache.solr.client.solrj.SolrServerException;importorg.apache.solr.client.solrj.impl.HttpSolrClient;importorg.apache.solr.client.solrj.response.QueryResponse;importorg.apache.solr.client.solrj.response.UpdateResponse;importorg.apache.solr.common.SolrDocumentList;importorg.apache.solr.common.SolrInputDocument;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;/*** SolrHelloWorld类描述:
*
*@authoryangzhenlong
*@since2018/1/9*/
public classSolrHelloWorld {private static String solr_server_url = "http://localhost:8983/solr";private static String core_test = "test";//test核心
public static void main(String[] args) throwsIOException, SolrServerException {
SolrClient solrClient= new HttpSolrClient(solr_server_url + "/" +core_test);//添加
add(solrClient);//查询
query(solrClient);//删除
delete("10", solrClient);
}private static void add(SolrClient solrClient) throwsIOException, SolrServerException {
List documentList = new ArrayList(10);for(int i = 10; i<=20 ; i++){
SolrInputDocument document= newSolrInputDocument();
document.addField("id", i);
document.addField("name", "测试" +i);
document.addField("category", i%2 == 0 ? "分类1" : "分类2");
documentList.add(document);
}
UpdateResponse addResponse=solrClient.add(documentList);
System.out.println(addResponse.toString());
solrClient.commit();
System.out.println("----------------添加结果-------------\n" +JSONObject.toJSONString(addResponse));
}private static void query(SolrClient solrClient) throwsIOException, SolrServerException {
SolrQuery solrQuery= newSolrQuery();
solrQuery.set("q", "*:*");//q查询//solrQuery.addFilterQuery("id:[0 TO 20]");//过滤查询//solrQuery.addSort("id", SolrQuery.ORDER.asc);//排序
solrQuery.setStart(0);//分页 页码
solrQuery.setRows(20);//分页 数量//solrQuery.setHighlight(true);//高亮//solrQuery.addHighlightField("name");//设置高亮的字段//solrQuery.setHighlightSimplePre("");//设置高亮的样式 开头//solrQuery.setHighlightSimplePost("");//设置高亮的样式 结束
System.out.println("----------------查询开始-------------,query params=" +JSONObject.toJSONString(solrQuery.getQuery()));
QueryResponse queryResponse=solrClient.query(solrQuery);
SolrDocumentList results=queryResponse.getResults();
System.out.println("----------条数:" +results.getNumFound());
System.out.println("--------------result------------\n" +JSONObject.toJSONString(results));
}private static void delete(String id, SolrClient solrClient) throwsIOException, SolrServerException {
UpdateResponse deleteResponse=solrClient.deleteById(id);
System.out.println("----------------删除结果-------------\n" +JSONObject.toJSONString(deleteResponse));
solrClient.commit();
}
}