solr 高亮springdatasolr

Posted 好难取名

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solr 高亮springdatasolr相关的知识,希望对你有一定的参考价值。

 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的主要内容,如果未能解决你的问题,请参考以下文章

在 solr 3.4 中放置突出显示片段配置的位置

Solr、sunburnt (python) 和高亮显示:操作方法?

记录一次Spring Data Solr相关的错误解决

自定义存储库的 Spring Data Solr 优先级

Spring Data Solr - 由 OR 分隔的多个 FilterQueries

Solr 7.x 是不是支持 Java 11?