06、在ssm中使用solr

1、添加jar包

<!-- solr jar包 -->
<dependency>
 <groupId>org.apache.solr</groupId>
 <artifactId>solr-solrj</artifactId>
 <version>7.6.0</version>
</dependency>

2、在spring.xml中配置

<!-- 配置solr客户端对象 -->
<bean id="httpSolrClient" class="org.apache.solr.client.solrj.impl.HttpSolrClient">
    <constructor-arg name="builder" value="http://localhost:8983/solr/goods" />
</bean>

3、修改pojo中对应类(以goods类为例)

在这里插入图片描述

4、控制层写solr查询操作

@RequestMapping("请求路径")
public String search(@RequestParam(name = "pageIndex",defaultValue = "1") int pageIndex, int cid,@RequestParam(name = "keyword",defaultValue = "西") String keyword) throws IOException, SolrServerException {
  //创建一个query对象
  SolrQuery solrQuery=new SolrQuery();
  //设置默认的查询范围
  solrQuery.set("df", "goodsName");
  //设置查询条件
  solrQuery.setQuery(keyword+"*");//*代表单个字符也可以查询出来
  //设置过滤条件,为指定cid的数据,才能进入接下去的操作
  solrQuery.setFilterQueries("cid:"+cid);
  //设置排序条件
  solrQuery.setSort("goodsPrice",ORDER.desc);
  
  solrQuery.addField("id");
  solrQuery.addField("goodsName");
  solrQuery.addField("salesPrice");
  solrQuery.addField("goodsImg");
  //solrQuery.addField("cid");
  solrQuery.setStart(0);
  //每页显示多少行
  solrQuery.setRows(2);
  //设置高亮(开启)
  solrQuery.setHighlight(true);
  //设置高亮域
  solrQuery.addHighlightField("goodsName");
  //设置高亮前缀
  solrQuery.setHighlightSimplePre("<em>");
  //设置高亮后缀
  solrQuery.setHighlightSimplePost("</em>");

  // 创建组合条件串
 // StringBuilder params = new StringBuilder("cid:" + cid);
 // params.append(" and goodsName:"+keyword);
 // solrQuery.setQuery(params.toString());

  //将查询对象传递到服务器端
  QueryResponse queryResponse= httpSolrClient.query(solrQuery);

  httpSolrClient.commit();

  List<Goods> list=  queryResponse.getBeans(Goods.class);

  System.out.println(list.toString());
 // ModelAndView modelAndView=new ModelAndView();
  //modelAndView.addObject("goodsList",list);
 // modelAndView.setViewName("searchList");

  //return modelAndView;
  return "success";
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄天灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值