ElasticsSearch——HighLights
来源:互联网 发布:淘宝买dota2饰品封号 编辑:程序博客网 时间:2024/05/18 00:57
ES可以使用三种类型的高亮:
- the lucene highlighter
- fast-vector-highlighter
- postings-highlighte
高亮显示的前提要求:
1.高亮的字段是存储的,store set to true
2.如果前提1不满足,会从source中提取,但是必须保证 source set to enable
3._all 字段 比较特殊,不能从source中获得,也就是说如果要高亮_all字段内容 必须 保证 字段的属性 store set to true
the lucene highlighter
这是默认的标准高亮方式。不需要在索引的时候进行任何额外的配置。
也就是说如果在mapping的部分没有对字段进行额外的配置,默认进行的是标准高亮,而且也无法通过在高亮的时候进行配置而转化成其他的高亮方式。
优缺点:
1.无需额外配置
2.会高亮很多无用的词条,不匹配的内容也会被高亮。
fast-vector-highlighter
这种高亮方式基于词条向量,在mapping的时候需要 set term_vector to with_positions_offsets
优缺点:
1.对于超过1MB的字段 速度非常快
2. 会增大索引的大小
3. 可以对不同的匹配方式分配不同的权重
在mapping部分需要设置如下
{ "type_name" : { "content" : {"term_vector" : "with_positions_offsets"} }}
当进行上面的配置之后,默认的高亮就会使用fast-vector-highlighter 这种方式,但是如果想要使用标准的高亮方式,可以进行高亮的时候如下配置:
{ "query" : {...}, "highlight" : { "fields" : { "content" : {"type" : "plain"} } }}
postings-highlighter
这种高亮是基于偏移量的:需要在mapping的时候 set index_options to offset
1.因为不会二次分词文本内容,所以高亮速度比较快,文档越大效果越明显
2.需要更小的磁盘空间相对fast highlight
3.把文档当成一个完整的语料,使用的是BM25算法
4.使用该高亮方法 fragment_size 属性失效,输出的高亮片段会忽略长度(所以如果字段内容过多的话,可以使用term vector的高亮方式,将两种高亮方式结合使用)
mapping 部分需要配置如下:
{ "type_name" : { "content" : {"index_options" : "offsets"} }}
注意哦!这种高亮 会忽略位置,比较适合简单的词条匹配。也就是说高亮的内容不一定是你匹配的地方。
如果你采用的是match_phase方式,虽然有些词条包含在里面但是没有匹配得分也会被高亮。
这种高亮也可以通过配置同上 来使用标准高亮的方式
- ElasticsSearch——HighLights
- ElasticsSearch——Query String
- ElasticsSearch——部署环境(JDK)
- CIRCOS教程翻译 3.1——Wedge Highlights
- CIRCOS教程翻译 3.5——Ideogram Highlights
- CIRCOS教程翻译 3.6——Ideogram Highlights
- CIRCOS教程翻译 3.8——Plot axis range highlights
- ElasticsSearch安装
- J2EE Highlights
- ElasticsSearch - (1)安装:
- ElasticsSearch - (2)配置:
- [ElasticsSearch] geohash (一)
- [ElasticsSearch] 排序(一)
- Highlights of Cygwin Functionality
- HOME - Research Highlights & Publications
- Android 3.0 Platform Highlights
- Android 4.0 Platform Highlights
- SharePoint 2016 highlights
- C++ 引用
- 缓存报错-初始化失败 ERROR [org.springframework.web.context.ContextLoader] - context initialization failed
- 有趣的数列[HNOI2009][Codevs2337]
- JavaScript学习笔记(1)
- 文章标题
- ElasticsSearch——HighLights
- CSS绘图:墙
- Jquery图片上传大小限制
- INVALID BINARY : Your binary is not optimized for iPhone 5 As of May 1
- javaScript文档中常用的集合
- LLDB调试命令(一) p 和 po 命名行的鼻祖 expression 命令
- scala集合
- iOS 基础篇4—懒加载
- git学习一