用下面的代码设置查询结果高亮显示,可结果<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);