【lucene系列学习二】Lucene实现高亮显示关键词
首先,导入下图所示库
然后,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实现高亮显示关键词相关推荐
- Lucene学习-深入Lucene分词器,TokenStream获取分词详细信息
Lucene学习-深入Lucene分词器,TokenStream获取分词详细信息 在此回复牛妞的关于程序中分词器的问题,其实可以直接很简单的在词库中配置就好了,Lucene中分词的所有信息我们都可以从 ...
- (七)lucene之中文检索和高亮显示以及摘要
前提:本章节使用lucene5.3.0版本,luke也是此版本的. 1.1 生成索引 package com.shyroke.lucene;import java.io.IOException; i ...
- 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示4
前面总结的都是使用Lucene的标准分词器,这是针对英文的,但是中文的话就不顶用了,因为中文的语汇与英文是不同的,所以一般我们开发的时候,有中文的话肯定要使用中文分词了,这一篇博文主要介绍一下如何使用 ...
- Lucene之八(Lucene的高亮显示)
在Lucene的org.apache.lucene.search.highlight包中提供了关于高亮显示检索关键字的工具.我们在使用百度.Google搜索的时候,检索结果显示的时候,在摘要中实现与关 ...
- Lucene+分词器精确提取用户自定义关键词(Lucene版本3.6)
此篇博客的Lucene版本是3.6.0,若您的Lucene版本为5.X可以移步到此博文http://blog.csdn.net/echoyy/article/details/78468225 在分词的 ...
- 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示
欢迎关注我新搭建的博客:http://www.itcodai.com/ 前面总结的都是使用Lucene的标准分词器,这是针对英文的,但是中文的话就不顶用了,因为中文的语汇与英文是不同的,所以一般我们开 ...
- ElasticSearch特点|B+Tree|lucene倒排索引结构|lucene与elasticsearch的关系|基本概念
ElasticSearch特点 1. 天然分片,天然集群: es 把数据分成多个shard,下图中的P0-P2,多个shard可以组成一份完整的数据,这些shard可以分布在集群中的各个机器节点中.随 ...
- 基于Vue实现关键词实时搜索高亮显示关键词
最近在做移动real-time-search于实时搜索和关键词高亮显示的功能,通过博客的方式总结一下,同时希望能够帮助到别人~~~ 如果不喜欢看文字的朋友我写了一个demo方便已经上传到了github ...
- php可以用lucene吗,php – Lucene外国字符问题
我在使用Zend_Lucene和åäö这样的外国字符时遇到了一些严重的问题.创建索引和查询时会出现这些问题.我已经尝试了iso-8859-1和utf-8. ISO-8859-1 不起作用的查询看起来像 ...
最新文章
- Spring Cloud应用开发(六:使用本地存储方式实现分布式配置管理 )
- How does framework require TechnicalInfo.js
- [ZJOI2014] 星系调查(树上差分 + 数学推式子)
- linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server
- Bootstrap列表组支持的组件
- IDEA的使用,手把手带你快速入门IDEA
- 网页上无缝滚动的实现
- 条形码类型及其字符集和长度的说明
- ev3编程变量模块_【EV3基础编程 第九课】用生活中随处可见的“数据变量”是我们的“好教材”。...
- RK3399驱动开发 | 09 - 基于RK808 PMIC的电源管理驱动
- 漂亮的LightBox图片画廊插件开发
- 网站安全检测漏洞扫描系统邮件安全
- Flask-SQLAlchemy牛刀小试
- IDE和SCSI硬盘的区别
- android移动日记代码,Android开源项目-小熊日记源码
- ab 发送post请求 测试API性能
- 多域名SSL证书介绍
- Word 使用技巧大全
- 大公司的开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等
- 项目分析工具----SpaceSniffer