白话Elasticsearch62-进阶篇之Highlighting高亮显示
文章目录
- 概述
- 官网
- 示例
- 查询单个字段
- 查询多个字段
- 三种highlight介绍 (unified, plain, fvh)
- unified
- plain
- fvh
- 设置高亮html标签,默认是标签
- 高亮片段fragment的设置
概述
继续跟中华石杉老师学习ES,第62篇
课程地址: https://www.roncoo.com/view/55
官网
7.3版本Highlighting: 戳这里
6.4版本: 戳这里
示例
为了演示这个功能,我们新建个索引
#新建artisan_indexPUT /artisan_index
{"mappings": {"artisan_type": {"properties": {"title": {"type": "text","analyzer": "ik_max_word"},"content": {"type": "text","analyzer": "ik_max_word"}}}}
}#写入2条数据PUT /artisan_index/artisan_type/1
{"title": "小工匠学习ES","content": "小工匠的学习之旅!"
}PUT /artisan_index/artisan_type/2
{"title": "我是小工匠","content": "欢迎大家"
}
查询单个字段
使用highlight查询
GET /artisan_index/artisan_type/_search
{"query": {"match": {"title": "小工匠"}},"highlight": {"fields": {"title": {}}}
}
返回
<em></em>
会变成红色,所以说你的指定的field中,如果包含了那个搜索词的话,就会在那个field的文本中,对搜索词进行红色的高亮显示。
查询多个字段
第二个例子: 查询多个字段
GET /blog_website/blogs/_search
{"query": {"bool": {"should": [{"match": {"title": "博客"}},{"match": {"content": "博客"}}]}},"highlight": {"fields": {"title": {},"content": {}}}
}
highlight中的field,必须跟query中的field一一对齐的
三种highlight介绍 (unified, plain, fvh)
unified
plain
fvh
总结:
- 一般情况下,用plain highlight也就足够了,不需要做其他额外的设置
- 如果对高亮的性能要求很高,可以尝试启用posting highlight
- 如果field的值特别大,超过了1M,那么可以用fast vector highlight
设置高亮html标签,默认是标签
GET /artisan_index/artisan_type/_search
{"query": {"match": {"content": "小工匠"}},"highlight": {"pre_tags": ["<tag1>"],"post_tags": ["</tag1>"], "fields": {"content": {"type": "plain"}}}
}
高亮片段fragment的设置
GET /_search
{"query" : {"match": { "user": "kimchy" }},"highlight" : {"fields" : {"content" : {"fragment_size" : 150, "number_of_fragments" : 3, "no_match_size": 150 }}}
}
- fragment_size:举个例子 你一个Field的值,比如有长度是1万,但是你不可能在页面上显示这么。。设置要显示出来的fragment文本判断的长度,默认是100
- number_of_fragments:你可能你的高亮的fragment文本片段有多个片段,你可以指定就显示几个片段
白话Elasticsearch62-进阶篇之Highlighting高亮显示相关推荐
- [安全攻防进阶篇] 四.逆向分析之条件语句和循环语句源码还原及流程控制逆向
从2019年7月开始,我来到了一个陌生的专业--网络空间安全.初入安全领域,是非常痛苦和难受的,要学的东西太多.涉及面太广,但好在自己通过分享100篇"网络安全自学"系列文章,艰难 ...
- Ubuntu发烧友三部曲 进阶篇
Ubuntu发烧友三部曲 进阶篇:应用软件的使用与安装 Linux诞生至今硬件的支持和应用软件的使用一直都是linux发烧友们最关心的问题.说起硬件的支持,我们不 得不想到 ...
- 《 Elasticsearch顶尖高手系列:高手进阶篇(最新第二版)》面前最新
课程大纲 第1节结构化搜索_IT技术论坛案例背景介绍 9分钟 | 第2节结构化搜索_在案例中实战使用term filter来搜索数据 20分钟 | 第3节结构化搜索_filter执 ...
- labview入门到出家5(进阶篇)——程序调试以及labview函数库的运用
跟了前面几章的操作流程,相信大家对labview有了一定的认识.其实只要了解了labview的编程思路,再熟悉地运用各个变量,函数以及属性,那么我们就可以打开labview的大门了.跟其他编程语言一样 ...
- labview入门到出家6(进阶篇)——移位寄存器的使用
前面介绍了如何熟悉和使用Labview自带的库函数以及调试方式,大家后期基本可以凭借这两个方式从入门到出家了,哈哈,后面就靠各位同仁99%的努力了.这篇为啥要讲移位寄存器呢,主要是之前做的项目和经验告 ...
- Enterprise Library Step By Step系列(十二):异常处理应用程序块——进阶篇
一.把异常信息Logging到数据库 在日志和监测应用程序块中,有朋友提意见说希望能够把异常信息Logging到数据库中,在这里介绍一下具体的实现方法. 1.创建相关的数据库环境: 我们可以用日志和监 ...
- Docker 数据卷之进阶篇
Docker 数据卷之进阶篇 原文:Docker 数据卷之进阶篇 笔者在<Docker 基础 : 数据管理>一文中介绍了 docker 数据卷(volume) 的基本用法.随着使用的深入, ...
- C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...
原文:C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github. ...
- Kafka核心设计与实践原理总结:进阶篇
作者:未完成交响曲,资深Java工程师!目前在某一线互联网公司任职,架构师社区合伙人! kafka作为当前热门的分布式消息队列,具有高性能.持久化.多副本备份.横向扩展能力.我学习了<深入理解K ...
最新文章
- python eve mysql_python连接 MySQ 数据库
- oracle excel报表开发,深入浅出OracleEBS之Excel报表开发.doc
- linux 输出重定向
- feign整合sential,Feign中使用Sentinel熔断器防止服务雪崩
- python假设税前工资和税率如下_Python来做假设检验
- 华为云设计语言_华为又一项黑科技即将来临:可即时翻译任何动物语言
- android 截屏_图文小编福利:Apowersoft专业截屏王
- 于iOS跳转到应用程序AppStore
- android常用窗口动画,android 自定义dialog,窗口动画,
- MAC编译OpenJDK8:iostream file not found(独家解决办法)
- python判断邮箱格式是否正确_python:校验邮箱格式
- 研报笔记:光大证券多因子系列1-3
- 当我们在谈论高并发的时候究竟在谈什么?
- 截止频率计算公式wc_计算截止频率Wc的快速方法
- 项目前期准备的重要性
- Linux 内核编译
- 面试官:能说一说微信授权的原理吗?(Spring Cloud OAuth2 授权码模式)
- Java job interview:项目架构Java车联网行业的云端架构实现
- OKALEIDO解决NFT流动性不足难题 更有创新平台通证分配方案
- 思之以实,取之以略,行之以果
热门文章
- Flyme6系统适配教程(Patchrom)
- Linux下CMake简明教程(一)简单入门
- 朴素贝叶斯 python 实现
- NLP-基础知识-007(机器学习-朴素贝叶斯)
- Tensorflow实现MNIST数据自编码(1)
- oracle v$access执行很慢,Oracle bug之v$access
- php连接redis报错,PHP使用phpredis链接redis错误
- 基于stm32f405控制三相无刷电机例程_ST SSC 频道 | 基于ST STM32F302R8T6 电机空气压缩机方案...
- 【Linux】23_网络管理物理层详解
- java中最容易犯错的特殊字符