文档章节

lucene5 对检索结果进行关键字高亮

wangbo888
 wangbo888
发布于 2017/03/24 09:51
字数 227
阅读 14
收藏 0

使用highlighter的时候,一般会用query来构造:

Highlighter highlighter = new Highlighter(new QueryScorer(query));

这样存在一个问题,如果已经通过查询检索出结果,想对结果文本中的关键字进行高亮,使用这种写法是有问题的。当highlighter.getBestFragment会进行再一次查询,输出高亮片段,然而我们并不需要再一次查询。

查源码后发现QueryScorer中有这个构造方法:

 public QueryScorer(WeightedSpanTerm[] weightedTerms)

通过这个scorer创建highlighter,会对文本中的关键字进行高亮而不再进行查询,高亮过程不再需要query。如下写法:

WeightedSpanTerm wst = new WeightedSpanTerm(1, "关键字");
QueryScorer qs = new QueryScorer(new WeightedSpanTerm[]{wst});
Highlighter hl = new Highlighter(qs);
String result = hl.getBestFragment(analyzer, "column1",text);

达到我们想要的结果,仅对查询结果文本进行关键字高亮,不再次进行查询。

 

© 著作权归作者所有

wangbo888
粉丝 7
博文 6
码字总数 7170
作品 0
沈阳
程序员
私信 提问
ElasticSearch 高亮显示大文档搜索结果的策略和性能对比(译)

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
2018/07/18
761
0
Lucene4.3开发之第八步之渡劫初期(八)

高亮功能一直都是全文检索的一项非常优秀的模块,在一个标准的搜索引擎中,高亮的返回命中的结果,几乎是必不可少的一项需求,因为通过高亮,我们可以在我们的搜索页面上快速标记出用户的检索...

heroShane
2014/02/21
231
0
lucene4.7 高亮功能(八)

高亮功能一直都是全文检索的一项非常优秀的模块,在一个标准的搜索引擎中,高亮的返回命中结果,几乎是必不可少的一项需求,因为通过高亮,我们可以在我们的搜索界面上快速标记出用户的检索关...

一枚Sir
2014/04/11
328
0
检索结果页,检索关键字高亮

检索结果页,检索关键字高亮 注意,包括刊名、单位等都需要考虑到 关键字有可能有两个“linux 服务器”,以空格分开的话,算两个关键字,都要高亮

坚慧
2016/04/19
2
0
Lucene索引的建立和查找索引

本篇文章使用的是Lucene4.2版本 首先创建索引分析器,建立IndexWriter对象 对象docDir为你要建立索引的目录或文件,参数indexPath为你要保存索引文件的目录 方法indexDocs(IndexWriter write...

Jialy
2013/11/14
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 人生,还真是到处是意外

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐# 分享lil peep的单曲《High School》 《High School》- lil peep 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
61
4
Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
9
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
10
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部