关于lucene高亮显示
waitingmyself
2008-02-29
是从多在field中通过一个关键词查询出来的,在高亮显示的时候对所有的document中的所有field都调用高亮显示的方法,结果一些不包含关键词的field内容被替换为空。
不知道有没有有说清楚,以下是主要代码: 高亮主要代码: TokenStream tokenStream = new StandardAnalyzer().tokenStream( field, new StringReader(fieldContent)); String result11 = highlighter.getBestFragments( tokenStream, fieldContent, 5, "..."); 查询结果代码: for (int i = start; i < end; i++) { Document doc = hits.doc(i); P2pJourArticle model = new P2pJourArticle(); model.setTitleCn(setHighlighter("titleCn", doc.get("titleCn"), query)); model.setTitleEn(setHighlighter("titleEn", doc.get("titleEn"), query)); } 例如查询“技术”,所有结果中的英文标题都为空了。 查询“java”的时候,所有结果中的中文标题为空了。 不调用setHighlighter方法时一切正常。 |
|
waitingmyself
2008-03-03
问题解决
if(resultll == null || resultll.equals("")){ resultll = fieldContent; } |