1. 程式人生 > >solr 高亮springdatasolr

solr 高亮springdatasolr

amp pre put new data ted epo sea wire

 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