solr学习笔记 -- day05 solrJ的使用
来源:互联网 发布:淘宝卖家需要的软件 编辑:程序博客网 时间:2024/05/17 06:27
一:使用solrJ查询索引库
1、步骤:
(1)、创建一个SolrServer对象和服务端建立连接
(2)、创建一个SolrQuery对象
(3)、参考后台设置查询条件
(4)、执行查询,得到一个QueryResponse对象
(5)、包含查询结果的总记录数、结果列表和高亮结果
(6)、取查询结果并打印
2、代码
(1)、简单条件查询的代码
@Testpublic void searchIndex() throws Exception {// 1、创建一个SolrServer对象和服务端建立连接SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/collection1");// 2、创建一个SolrQuery对象SolrQuery query = new SolrQuery();// 3、参考后台设置查询条件//query.setQuery("*:*");query.set("q", "*:*");// 4、执行查询,得到一个QueryResponse对象QueryResponse response = solrServer.query(query);// 5、包含查询结果的总记录数、结果列表和高亮结果。SolrDocumentList solrDocumentList = response.getResults();System.out.println("查询结果总记录数:" + solrDocumentList.getNumFound());// 6、取查询结果并打印for (SolrDocument solrDocument : solrDocumentList) {System.out.println(solrDocument.get("id"));System.out.println(solrDocument.get("product_name"));System.out.println(solrDocument.get("product_price"));System.out.println(solrDocument.get("product_catalog_name"));System.out.println(solrDocument.get("product_picture"));}}
(2)、复杂条件的查询代码
@Testpublic void searchIndexFuza() throws Exception {SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/collection1");//创建查询对象SolrQuery query = new SolrQuery();//设置查询条件query.setQuery("小黄人");query.addFilterQuery("product_price:[0 TO 10]");//参数1:要排序的域 参数2:排序方式query.setSort("product_price", ORDER.asc);query.setStart(0);query.setRows(9);query.set("df", "product_keywords");//设置高亮query.setHighlight(true);query.addHighlightField("product_name");query.setHighlightSimplePre("<em>");query.setHighlightSimplePost("</em>");//执行查询QueryResponse queryResponse = solrServer.query(query);//取查询结果SolrDocumentList solrDocumentList = queryResponse.getResults();//取高亮结果Map<String, Map<String, List<String>>> highlighting = queryResponse.getHighlighting();System.out.println("总记录数:" + solrDocumentList.getNumFound());for (SolrDocument solrDocument : solrDocumentList) {System.out.println(solrDocument.get("id"));//取高亮结果String name = "";List<String> list = highlighting.get(solrDocument.get("id")).get("product_name");if (list != null && list.size() > 0) {name = list.get(0);} else {name = (String) solrDocument.get("product_name");}System.out.println(name);System.out.println(solrDocument.get("product_price"));System.out.println(solrDocument.get("product_catalog_name"));System.out.println(solrDocument.get("product_picture"));}}
阅读全文
0 0
- solr学习笔记 -- day05 solrJ的使用
- Solr学习笔记四--solrj的使用(更新文档)
- Solr学习笔记五--solrj的使用(查询文档)
- solr学习笔记 -- day03 使用solrJ客户端
- Solr文档学习--Solrj的使用
- solr学习笔记(3)--使用solrj调用solr服务
- Solr solrj的使用
- solr-solrj的使用
- solr cloud系列-solrj的使用
- Solr JAVA客户端SolrJ的使用
- Solr-6.5.1之Solrj的使用
- solr 7.1.0中solrJ的使用
- 使用solrj操作solr
- 使用solrJ操作solr
- solr系列--solrj使用
- 搜索学习--Solr全文搜索服务器的基本使用(一)——SolrJ的使用
- Solr、Solrj学习知识杂记
- solr学习(5.2)-solrj入门
- java单链表的翻转
- 解决mybatis generator生成实体类和数据库字段名不一致
- [UIViewController _loadViewFromNibNamed:bundle:] loaded the nib but the view outlet was not set
- android studio 中 Error:(12, 23) 错误: 程序包org.apache.http不存在
- GO语言method
- solr学习笔记 -- day05 solrJ的使用
- 从内核文件系统看文件读写过程
- USCAO-Section 1.3 Combination Lock
- 慕课网Python3.x开发简单爬虫及完整源码
- leapmotion simple control 插件的使用
- Codeforces 750 D New Year and Fireworks
- 将数据的初始化放到docker中的整个工作过程(问题记录)
- java设计模式之单例模式5种方法及优缺点小结
- 周小结