solr安装配置

1.解压solr.war包到tomcat的webapp目录下

2.拷贝solr依赖jar到指定目录

3.添加日志配置文件到class目录

4.在web.xml文件中指定solrhome

5.solrcore安装配置


一个solrhome目录里面包含多个solrcore目录,一个solrcore目录里面了一个solr实例运行时所需要的配置文件和数据文件。

6.配置solrcore运行信息的配置文件

指定目录下添加依赖jar包

7.solr使用




8.配置中文分词器扩展词汇、添加中文分词jar

9.solrj 操作

Field --> Document --> server 添加索引

简单查询

复杂查询


     @Test


     public void search02()throws Exception {


         // 创建HttpSolrServer


         HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");


         // 创建SolrQuery对象


         SolrQuery query = new SolrQuery();


 


         // 输入查询条件


         query.setQuery("product_name:小黄人");


         // query.set("q","product_name:小黄人");


 


         // 设置过滤条件


         // 如果设置多个过滤条件的话,需要使用query.addFilterQuery(fq)


         query.setFilterQueries("product_price:[1 TO 10]");


 


         // 设置排序


         query.setSort("product_price", ORDER.asc);


         // 设置分页信息(使用默认的)


         query.setStart(0);


         query.setRows(10);


 


         // 设置显示的Field的域集合


         query.setFields("id,product_name,product_catalog,product_price,product_picture");


 


         // 设置默认域


         query.set("df", "product_keywords");


 


         // 设置高亮信息


         query.setHighlight(true);


         query.addHighlightField("product_name");


         query.setHighlightSimplePre("<em>");


         query.setHighlightSimplePost("</em>");


 


         // 执行查询并返回结果


         QueryResponse response = server.query(query);


         // 获取匹配的所有结果


         SolrDocumentList list = response.getResults();


         // 匹配结果总数


         long count = list.getNumFound();


         System.out.println("匹配结果总数:" + count);


 


         // 获取高亮显示信息


         Map<String, Map<String, List<String>>> highlighting= response


                   .getHighlighting();


         for (SolrDocument doc : list) {


              System.out.println(doc.get("id"));


 


              List<String> list2 = highlighting.get(doc.get("id")).get(


                       "product_name");


              if (list2 != null)


                   System.out.println("高亮显示的商品名称:" + list2.get(0));


              else {


                   System.out.println(doc.get("product_name"));


              }


 


              System.out.println(doc.get("product_catalog"));


              System.out.println(doc.get("product_price"));


              System.out.println(doc.get("product_picture"));


              System.out.println("=====================");


         }






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值