lucene学习之简单的高亮显示

来源:互联网 发布:mac中删除文件是哪个键 编辑:程序博客网 时间:2024/06/08 04:52

高亮会把你要搜索的字段用不同的样式显示出来。

QueryScorer scorer=new QueryScorer(query);//这里传query对象

Fragmenter fragmenter=new SimpleSpanFragmenter(scorer);
SimpleHTMLFormatter simpleHTMLFormatter=new SimpleHTMLFormatter("<font color='red'>","</font>");//这里写高亮的开始符,和结束符。
Highlighter highlighter=new Highlighter(simpleHTMLFormatter, scorer);

highlighter.setTextFragmenter(fragmenter);


TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(content));
String s = highlighter.getBestFragment(tokenStream, content);

或者

String s = highlighter.getBestFragment(analyzer, "content", 这里传文本内容);


这样就可以高亮显示了,比如我在query中搜索content中包含 “ 今天”的字段,然后content中有今天的字段就会被高亮显示,好像我这里用SimpleHTMLFormatter simpleHTMLFormatter=new SimpleHTMLFormatter("<font color='red'>","</font>"),然后content中今天就显示为这样<font color='red'>今天</font>。

0 0