solr java_java-solr solrj的使用详解

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();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值