码迷,mamicode.com
首页 > 编程语言 > 详细

solr 高亮springdatasolr

时间:2018-07-27 12:02:10      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:search   div   lis   list   sni   turn   设置   size   调用   

 1 @Autowired
 2     private SolrTemplate solrTemplate;
 3 
 4     @Override
 5     public Map<String, Object> search(Map searchMap) {
 6         return searchList(searchMap);
 7     }
 8     
 9     //被本类调用
10     private Map searchList(Map searchMap){
11         
12         SimpleHighlightQuery highlightQuery = new SimpleHighlightQuery(new Criteria("hyd_keywords").is(searchMap.get("keywords")));
13         highlightQuery.setHighlightOptions(new HighlightOptions().addField("hyd_title").setSimplePrefix("<em style=‘color:red‘>").setSimplePostfix("</em>"));  
14         HighlightPage<TbItem> page = solrTemplate.queryForHighlightPage(highlightQuery, TbItem.class);
15         
16         for (HighlightEntry<TbItem> highlightEntry : page.getHighlighted()) {
17             TbItem tbItem = highlightEntry.getEntity();
18             
19             if(highlightEntry.getHighlights().size()>0 && highlightEntry.getHighlights().get(0).getSnipplets().size()>0){
20                 tbItem.setTitle(highlightEntry.getHighlights().get(0).getSnipplets().get(0));//设置高亮的结果
21             }    
22         }
23         
24         HashMap<String, Object> hashMap = new HashMap<>();
25         hashMap.put("rowsHyd", page.getContent());
26         return  hashMap;
27     }

 

pyg  search 高亮搜索  

思路:创建个SimpleHighlightQuery ,往里丢个条件Criteria,在丢个 满足条件 的时候 什么东西 要去干什么事(HighlightOptions中设置),   把前面的东西 丢到 查询中,并给个要返回什么类型(反射),拿到  东西 咔咔一顿 设置,最后再通过getContent()拿到设置完的东西

solr 高亮springdatasolr

标签:search   div   lis   list   sni   turn   设置   size   调用   

原文地址:https://www.cnblogs.com/hnqm/p/9376371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!