标签:name get 复杂 查询 user 设置 solrDocument query
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"));
}
}
标签:name,get,复杂,查询,user,设置,solrDocument,query 来源: https://blog.csdn.net/qq_40208605/article/details/90173166
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。