【郑州校区】复杂查询
[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号楼三层
|