首先,导入下图所示库

然后,import org.apache.lucene.search.highlight.*;

下面,我们新建一个实现高亮显示功能的函数

 public  static String displayHtmlHighlight(Query query, String fieldName, String fieldContent) throws IOException, InvalidTokenOffsetsException{SmartChineseAnalyzer analyzer=new SmartChineseAnalyzer();//设置高亮标签,可以自定义SimpleHTMLFormatter formatter = new SimpleHTMLFormatter("<font color='red'>", "</font>");  /**创建QueryScorer*///评分QueryScorer scorer=new QueryScorer(query);  /**创建Fragmenter*/  Fragmenter fragmenter = new SimpleSpanFragmenter(scorer);  //高亮分析器Highlighter highlight=new Highlighter(formatter,scorer);  highlight.setTextFragmenter(fragmenter);  //fieldname是域名,如"title",fieldContent是d.get("title");String str=highlight.getBestFragment(analyzer, fieldName, fieldContent);return str;}

最后,调用这个函数

res+="\t\t\t<a href=\""+d.get("link")+"\" target=\"_blank\">\n<p>"+String.valueOf(cou)+". "+displayHtmlHighlight(query,"title", d.get("title"))+"</p>\n<p>[ "+d.get("class")+" ] "+d.get("link")+"</p>\n<p>"+displayHtmlHighlight(query,"sabstract", d.get("sabstract"))+" </p></a>\n";

这样就实现了title和abstract的高亮显示关键词

转载于:https://www.cnblogs.com/itcsl/p/6489553.html

【lucene系列学习二】Lucene实现高亮显示关键词相关推荐

  1. Lucene学习-深入Lucene分词器,TokenStream获取分词详细信息

    Lucene学习-深入Lucene分词器,TokenStream获取分词详细信息 在此回复牛妞的关于程序中分词器的问题,其实可以直接很简单的在词库中配置就好了,Lucene中分词的所有信息我们都可以从 ...

  2. (七)lucene之中文检索和高亮显示以及摘要

    前提:本章节使用lucene5.3.0版本,luke也是此版本的. 1.1  生成索引 package com.shyroke.lucene;import java.io.IOException; i ...

  3. 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示4

    前面总结的都是使用Lucene的标准分词器,这是针对英文的,但是中文的话就不顶用了,因为中文的语汇与英文是不同的,所以一般我们开发的时候,有中文的话肯定要使用中文分词了,这一篇博文主要介绍一下如何使用 ...

  4. Lucene之八(Lucene的高亮显示)

    在Lucene的org.apache.lucene.search.highlight包中提供了关于高亮显示检索关键字的工具.我们在使用百度.Google搜索的时候,检索结果显示的时候,在摘要中实现与关 ...

  5. Lucene+分词器精确提取用户自定义关键词(Lucene版本3.6)

    此篇博客的Lucene版本是3.6.0,若您的Lucene版本为5.X可以移步到此博文http://blog.csdn.net/echoyy/article/details/78468225 在分词的 ...

  6. 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示

    欢迎关注我新搭建的博客:http://www.itcodai.com/ 前面总结的都是使用Lucene的标准分词器,这是针对英文的,但是中文的话就不顶用了,因为中文的语汇与英文是不同的,所以一般我们开 ...

  7. ElasticSearch特点|B+Tree|lucene倒排索引结构|lucene与elasticsearch的关系|基本概念

    ElasticSearch特点 1. 天然分片,天然集群: es 把数据分成多个shard,下图中的P0-P2,多个shard可以组成一份完整的数据,这些shard可以分布在集群中的各个机器节点中.随 ...

  8. 基于Vue实现关键词实时搜索高亮显示关键词

    最近在做移动real-time-search于实时搜索和关键词高亮显示的功能,通过博客的方式总结一下,同时希望能够帮助到别人~~~ 如果不喜欢看文字的朋友我写了一个demo方便已经上传到了github ...

  9. php可以用lucene吗,php – Lucene外国字符问题

    我在使用Zend_Lucene和åäö这样的外国字符时遇到了一些严重的问题.创建索引和查询时会出现这些问题.我已经尝试了iso-8859-1和utf-8. ISO-8859-1 不起作用的查询看起来像 ...

最新文章

  1. Spring Cloud应用开发(六:使用本地存储方式实现分布式配置管理 )
  2. How does framework require TechnicalInfo.js
  3. [ZJOI2014] 星系调查(树上差分 + 数学推式子)
  4. linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server
  5. Bootstrap列表组支持的组件
  6. IDEA的使用,手把手带你快速入门IDEA
  7. 网页上无缝滚动的实现
  8. 条形码类型及其字符集和长度的说明
  9. ev3编程变量模块_【EV3基础编程 第九课】用生活中随处可见的“数据变量”是我们的“好教材”。...
  10. RK3399驱动开发 | 09 - 基于RK808 PMIC的电源管理驱动
  11. 漂亮的LightBox图片画廊插件开发
  12. 网站安全检测漏洞扫描系统邮件安全
  13. Flask-SQLAlchemy牛刀小试
  14. IDE和SCSI硬盘的区别
  15. android移动日记代码,Android开源项目-小熊日记源码
  16. ab 发送post请求 测试API性能
  17. 多域名SSL证书介绍
  18. Word 使用技巧大全
  19. 大公司的开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等
  20. 项目分析工具----SpaceSniffer

热门文章

  1. 什么推动当今品牌的忠诚度
  2. 从70元到60亿,可以进来看看这篇文章
  3. WebStrom如何设置字体?
  4. sftp get服务器无文件会抛异常,sftp 异常,有遇到的吗
  5. 分块编码(Transfer-Encoding:chunked)
  6. 20-forEach循环语句
  7. Nutch+Hadoop集群搭建
  8. Scala之部分应用函数
  9. Scala 函数传名调用(call-by-name)
  10. 5月28日任务 Apache和PHP结合、Apache默认虚拟主机