2 download0322 download0322 于 2013.11.14 20:54 提问

lucene使用中设置结果高亮显示的问题

用下面的代码设置查询结果高亮显示,可结果<font color='red'>, </font>都给加到text的最前面了,就比如说我对“我爱中国”里的“中国”进行查询,返回的text是“<font color='red'></font>我爱中国”,为什么呢
代码如下

String text = doc.get(fields[2]);
SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<font color='red'>", "</font>");  
Highlighter highlighter = new Highlighter(simpleHTMLFormatter,new QueryScorer(query1));   
highlighter.setTextFragmenter(new SimpleFragmenter(text.length())); 
TokenStream tokenStream = luceneAnalyzer.tokenStream("", new StringReader(text));
String highLightText = highlighter.getBestFragment(tokenStream, text); 
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!