java solr_java中使用solr

packagecom.example.demo.util;importcom.example.demo.domain.Message;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.common.SolrDocument;importorg.apache.solr.common.SolrDocumentList;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;public classSolrUtil {private String solrUrl = "http://localhost:8983/solr/newcore";/*** 添加数据

*@parammessage

*@throwsIOException

*@throwsSolrServerException*/

public void add(Message message) throwsIOException, SolrServerException {

HttpSolrClient client= newHttpSolrClient(solrUrl);

client.addBean(message);

client.commit();

}/*** 搜索数据

*@paramkeyword

*@parampage

*@paramrows

*@return*@throwsIOException

*@throwsSolrServerException*/

public List search(String keyword, Integer page, Integer rows) throwsIOException, SolrServerException{

HttpSolrClient client= newHttpSolrClient(solrUrl);

SolrQuery query= newSolrQuery();

query.set("q","titleName:"+keyword+"*");//搜索关键字

query.setStart((page-1) * rows);//设置分页

query.setRows(rows);//设置查询条数

QueryResponse response= client.query(query);//执行搜索

SolrDocumentList resultList = response.getResults();//搜索结果

List list = new ArrayList<>();for(SolrDocument document:resultList){

Message message= newMessage();

message.setId(Integer.parseInt(document.get("id").toString()));

message.setLabel(document.get("label").toString());

message.setTitleName(document.get("titleName").toString());

list.add(message);

}returnlist;

}/*** 删除数据

*@paramid

*@throwsIOException

*@throwsSolrServerException*/

public void delete(String id) throwsIOException, SolrServerException {

HttpSolrClient client= newHttpSolrClient(solrUrl);

client.deleteById(id);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值