A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我是楠楠 黑马粉丝团   /  2019-4-25 15:04  /  672 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

【郑州校区】复杂查询

[AppleScript] 纯文本查看 复制代码
public void testSearchFuzaIndex() throws Exception {
		SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/");
		SolrQuery query = new SolrQuery();
		// q : 设置筛选条件
		query.setQuery("台灯");
		// fq : 设置过滤条件,可以有多个
		query.addFilterQuery("user_age:[20 TO 50]", "user_name:豆豆");
		// sort : 设置排序 desc asc
		query.setSort("user_age", ORDER.desc);
		// start, rows : 分页条件
		query.setStart(0);
		query.setRows(5);
		// fl : 设置查询显示的列表
		query.setFields("id", "user_name", "user_age");
	
		// df :设置默认搜索域
		query.set("df", "user_keywords");
		// hl : 设置开启高亮
		query.setHighlight(true);
		// hl.fl : 设置高亮显示的域
		query.addHighlightField("user_name");
		// hl.simple.pre : 设置高亮显示前缀
		query.setHighlightSimplePre("<em>");
		// hl.simple.post : 设置高亮显示的后缀
		query.setHighlightSimplePost("</em>");
		// 取结果
		QueryResponse response = solrServer.query(query);
		SolrDocumentList list = response.getResults();
		System.out.println("总记录: " + list.getNumFound());
		for (SolrDocument solrDocument : list) {
			System.out.println(solrDocument.get("id"));
			// 取高亮结果集
			Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();
			List<String> hlist = highlighting.get(solrDocument.get("id")).get("user_name");
			String productName = "";
			if (hlist != null && hlist.size() > 0) {
				productName = hlist.get(0);
			} else {
				productName = (String) solrDocument.get("user_name");
			}
			System.out.println(productName);
			System.out.println(solrDocument.get("user_age"));
		}
	}

传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马