liuqiang5151

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  0 Posts :: 23 Stories :: 1 Comments :: 0 Trackbacks
 要获取高亮的功能,首先应导入另外的一个jar -- lucenehighlighter.jar
TokenStream tokenStream = new StandardAnalyzer().tokenStream("Content"new StringReader(content));// 在Content域查找关键字content
        SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<span class=\"highlight\">","</span>"); // 这是定义了在页面如何通过css来控制关键字的特征
        String[] str = queryContent.split(" ");
        BooleanQuery booleanQuery 
= new BooleanQuery();
        QueryParser queryParser 
= new QueryParser("Content"new StandardAnalyzer());
        
for(String s : str){
            Query query 
= queryParser.parse(s);
            booleanQuery.add(query, BooleanClause.Occur.MUST);
        }

        Highlighter highlighter 
= new Highlighter(simpleHTMLFormatter,new QueryScorer(booleanQuery));      
        highlighter.setTextFragmenter(
new SimpleFragmenter(500));//the length of content
        String result = highlighter.getBestFragments(tokenStream, content, 5"."); //获取关键字出现最多的5个位置
然后在页面用css来控制一下
.highlight {
            color: #0099CC;
            font
-size: 13px;
            font
-family: Tahoma;
            font
-weight: bold;
        }

这样就ok了!!
这是我搜索出来的效果
posted on 2007-11-16 18:03 刘强 阅读(941) 评论(0)  编辑  收藏 所属分类: Lucene

只有注册用户登录后才能发表评论。


网站导航: