Solr 高亮查询代码记录

        /**
         * 高亮查询
         */
        //创建高亮查询
        SimpleHighlightQuery query = new SimpleHighlightQuery();
        //设置查询选项
        HighlightOptions highlightOptions = new HighlightOptions().addField("item_title");//需要将具体的域设置为高亮显示,这里设置复制域无效
        highlightOptions.setSimplePrefix("<em style='color:red'>");
        highlightOptions.setSimplePostfix("</em>");
        //将设置好的选项加入查询
        query.setHighlightOptions(highlightOptions);
        //创建查询条件,加入输入的关键词,,设置要查的字段,,后面匹配关键词
        Criteria criteria = new Criteria("item_keywords").is(searchMap.get("keywords"));
        //加入查询
        query.addCriteria(criteria);
        //执行查询
        HighlightPage<TbItem> tbItems = solrTemplate.queryForHighlightPage(query, TbItem.class);
        //此时这个结果不是高亮的结果
        List<HighlightEntry<TbItem>> page = tbItems.getHighlighted();//获取高亮条目
        for (HighlightEntry<TbItem> entry : page) {
            TbItem TbItem = entry.getEntity();//原查询结果对象
            if (entry.getHighlights().size()>0&&entry.getHighlights().get(0).getSnipplets().size()>0) {
                //不为 空值 就把高亮结果设置进去
                TbItem.setTitle(entry.getHighlights().get(0).getSnipplets().get(0));
            }
        }
//获取结果,设置到map集合中返回给前台
        resultMap.put("itemList", tbItems.getContent());
        return resultMap;

记录下高亮查询的代码写法...以备以后要用...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值