zoukankan      html  css  js  c++  java
  • Lucene的高亮器Highlighter

      Lucene的高亮器就是给搜索关键词加上HTML标签,这样在网页上显示的时候,可以有不同的突出显示效果。

      高亮器会做两个工作:

      1)让搜索关键词突出显示。

      2)截取出现搜索关键词最多的一段文本生成摘要。

      使用高亮器需要引入两个jar文件:lucene-highlighter-3.6.0.jar和lucene-memory-3.6.0.jar。

      创建高亮器的代码: 

    //配置高亮器
    		
    //默认使用HTML的<B>标签标记关键词
    //Formatter formatter = new SimpleHTMLFormatter();
    		
    //以红色字体标记关键词
    Formatter formatter = new SimpleHTMLFormatter("<font color='red'>","</font>");
    //用于高亮查询,query是Lucene的查询对象Query
    Scorer scorer = new QueryScorer(query);
    //创建一个高亮器
    Highlighter highlighter = new Highlighter(formatter, scorer);
    //设置文本摘要大小
    Fragmenter fragmenter = new SimpleFragmenter(100);
    highlighter.setTextFragmenter(fragmenter);
    

      设置要高亮显示的内容:

    //从Lucene的Document对象中取出文本内容
    String content =  document.get("content");
    //高亮显示content
    String highlighterContent = highlighter.getBestFragment(analyzer, "content", content);
    			
    //如果content中没有找到关键词,会返回空。
    if(highlighterContent == null) {
            highlighterContent = content;
    }
    

      

      

      

      

  • 相关阅读:
    jssdk语音识别调用(基于easywechat)
    mysql常见问题
    JAVA常见面试题
    使用HttpClient实现文件上传和下载
    mysql之数据去重并记录总数
    mysql的BLOB类型问题
    Velocity入门总结
    关于JSON的一些问题
    QLExpress语法介绍
    史上最全的Maven Pom文件标签详解(转)
  • 原文地址:https://www.cnblogs.com/luxh/p/2559782.html
Copyright © 2011-2022 走看看