【lucene系列学习二】Lucene实现高亮显示关键词
生活随笔
收集整理的這篇文章主要介紹了
【lucene系列学习二】Lucene实现高亮显示关键词
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?首先,導入下圖所示庫
然后,import org.apache.lucene.search.highlight.*;
下面,我們新建一個實現高亮顯示功能的函數
public static String displayHtmlHighlight(Query query, String fieldName, String fieldContent) throws IOException, InvalidTokenOffsetsException{SmartChineseAnalyzer analyzer=new SmartChineseAnalyzer();//設置高亮標簽,可以自定義SimpleHTMLFormatter formatter = new SimpleHTMLFormatter("<font color='red'>", "</font>"); /**創建QueryScorer*///評分QueryScorer scorer=new QueryScorer(query); /**創建Fragmenter*/ Fragmenter fragmenter = new SimpleSpanFragmenter(scorer); //高亮分析器Highlighter highlight=new Highlighter(formatter,scorer); highlight.setTextFragmenter(fragmenter); //fieldname是域名,如"title",fieldContent是d.get("title");String str=highlight.getBestFragment(analyzer, fieldName, fieldContent);return str;}最后,調用這個函數
res+="\t\t\t<a href=\""+d.get("link")+"\" target=\"_blank\">\n<p>"+String.valueOf(cou)+". "+displayHtmlHighlight(query,"title", d.get("title"))+"</p>\n<p>[ "+d.get("class")+" ] "+d.get("link")+"</p>\n<p>"+displayHtmlHighlight(query,"sabstract", d.get("sabstract"))+" </p></a>\n";這樣就實現了title和abstract的高亮顯示關鍵詞
?
轉載于:https://www.cnblogs.com/itcsl/p/6489553.html
總結
以上是生活随笔為你收集整理的【lucene系列学习二】Lucene实现高亮显示关键词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hive动态分区 参数配置及语法
- 下一篇: linux all version so