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类为例)
![在这里插入图片描述](https://img-blog.csdnimg.cn/41b2c9dc89094ef29708197fa77cec15.png#pic_center)
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";
}