/**
* 设置搜索结果高亮 用【】包着
* @param query 查询方法
* @param d 查出的文档
* @throws InvalidTokenOffsetsException
* @throws Exception
*/
public static void markKeyWord(Query query, Document d, Analyzer analyzer) throws Exception{
QueryScorer scorer = new QueryScorer(query);
Formatter formatter = new SimpleHTMLFormatter("【", "】"); // 这里换成new SimpleHTMLFormatter("<font color='red'>", "</font>")可以在页面显示成红色,我现在是在控制台,所以用【】包起来
Highlighter highlight = new Highlighter(formatter,scorer);
Fragmenter fragmenter = new SimpleFragmenter(888);// 设置显示查询结果符串长度
highlight.setTextFragmenter(fragmenter);
TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(d.get("content")));
String highlightStr = highlight.getBestFragment(tokenStream, d.get("content"));
System.out.println("【显示搜索结果位置】");
System.out.println(highlightStr);
}
java鬼混笔记:lucene 9、查询结果高亮
最新推荐文章于 2023-12-08 16:06:51 发布