solr复杂查询;及代码示例;包括查询、过滤、分页、排序、高亮显示等处理 的代码示例;

1.1.1. 复杂查询

其中包含查询、过滤、分页、排序、高亮显示等处理。

 

 

 

 

//复杂查询索引

@Test

public void queryIndex2()throws Exception {

//创建连接

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

//创建一个query对象

SolrQuery query = new SolrQuery();

//设置查询条件

query.setQuery("钻石");

//过滤条件

query.setFilterQueries("product_catalog_name:幽默杂货");

//排序条件

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

//分页处理

query.setStart(0);

query.setRows(10);

//结果中域的列表

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

//设置默认搜索域

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();

//共查询到商品数量

System.out.println("共查询到商品数量:" + solrDocumentList.getNumFound());

//遍历查询的结果

for (SolrDocument solrDocument : solrDocumentList) {

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

//取高亮显示

String productName = "";

Map<String, Map<String, List<String>>> highlighting = queryResponse.getHighlighting();

List<String> list = highlighting.get(solrDocument.get("id")).get("product_name");

//判断是否有高亮内容

if (null != list) {

productName = list.get(0);

} else {

productName = (String) solrDocument.get("product_name");

}

System.out.println(productName);

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

System.out.println(solrDocument.get("product_catalog_name"));

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

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值