java鬼混笔记:lucene 9、查询结果高亮

/**
 * 设置搜索结果高亮 用【】包着
 * @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);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值