当前位置:网站首页>ES高亮显示语法
ES高亮显示语法
2022-08-10 02:59:00 【身前一尺是我的世界】
目录
目标
掌握es高亮显示语法,包括自定义高亮标签属性、多字段高亮显示。
ES版本信息
7.17.5
官方文档
Highlightinghttps://www.elastic.co/guide/en/elasticsearch/reference/7.9/highlighting.html
创建索引
PUT /products_db
{
"settings": {
"index": {
"analysis.analyzer.default.type": "ik_max_word"
}
}
}
索引文档
PUT /products_db/_bulk
{"index":{"_id":"1"}}
{"proId":1,"prodName":"苹果13","title":"【24期免息 可选13promax】现货速发/Apple/苹果13 iPhone13手机可选苹果5G新品苹果官方旗舰店正品"}
{"index":{"_id":"2"}}
{"proId":2,"prodName":"苹果13","title":"【24期免息】苹果13 iphone13 Apple/苹果iPhone 13 5G手机官方旗舰正品官网苹果13手机iPhone13手机"}
{"index":{"_id":"3"}}
{"proId":3,"prodName":"李宁v8跑步鞋","title":"李宁v8跑步鞋女鞋新款风铃灰老爹鞋透气情侣运动鞋潮流休闲鞋男鞋"}
{"index":{"_id":"4"}}
{"proId":4,"prodName":"李宁休闲鞋","title":"LI-NING 1990李宁1990夏季女士蝴蝶休闲鞋"}
{"index":{"_id":"5"}}
{"proId":5,"prodName":"千井惠休闲鞋","title":"狮冬季白色鞋子韩版潮流春秋运动休闲板鞋男生小白鞋学生百搭白潮"}
{"index":{"_id":"6"}}
{"proId":6,"prodName":"张裕红酒","title":"张裕红酒 特选级干红葡萄酒圆筒750mlx6瓶婚庆婚宴年货送礼"}
{"index":{"_id":"7"}}
{"proId":7,"prodName":"安踏男鞋跑步鞋","title":"安踏男鞋跑步鞋2022夏季新款跑鞋官网官方旗舰店正品男款运动鞋男"}
实战
基本语法
需求:搜索关键词为"李宁跑步鞋",匹配字段为title,要求title字段的分词显示高亮。
第一步:对关键词"李宁跑步鞋"进行分词。这里用的是IK分词器。
POST _analyze
{
"analyzer": "ik_max_word",
"text": "李宁跑步鞋"
}
第二步:搜索。
GET /products_db/_search
{
"query": {
"match": {
"title": "李宁跑步鞋"
}
},
"highlight": {
"fields": {
"title": {}
}
}
}
多字段高亮显示
参数:默认情况下只能将搜索字段的分词显示高亮,即require_field_match默认为true。将该参数设置为false则所有字段可以显示高亮。
需求一:搜索关键词为"李宁跑步鞋",匹配字段为title,要求title字段,prodName字段的分词显示高亮。
GET /products_db/_search
{
"query": {
"match": {
"title": "李宁跑步鞋"
}
},
"highlight": {
"require_field_match": "false",
"fields": {
"title": {},
"prodName": {}
}
}
}
需求二:搜索关键词为"李宁跑步鞋",匹配字段为title,要求所有字段的分词显示高亮。
GET /products_db/_search
{
"query": {
"match": {
"title": "李宁跑步鞋"
}
},
"highlight": {
"require_field_match": "false",
"fields": {
"*": {}
}
}
}
自定义高亮样式
pre_tags参数:前置标签。默认为<em>,即高亮样式默认为<em>标签。
post_tags参数:后置标签。默认为</em>,即高亮样式默认为<em>标签。
需求:自定义高亮标签为<span>,设置字体为红色。
GET /products_db/_search
{
"query": {
"match": {
"title": "李宁跑步鞋"
}
},
"highlight": {
"pre_tags": [
"<span style='color:red'>"
],
"post_tags": [
"</span>"
],
"require_field_match": "false",
"fields": {
"*": {}
}
}
}
边栏推荐
- Small program subcontracting and subcontracting pre-download
- 从零开始配置 vim(10)——快捷键配置
- HackTheBox——Beep
- 带你深入理解3.4.2的版本更新,对用户带来了什么?
- HRnet
- 从8k到13k,我全靠这本《接口自动化测试——从入门到精通》
- 中国人保为德科康材承保产品责任险,为消费者权益保驾护航!
- How to quickly become a software test engineer?What skills do testers need for a monthly salary of 15k?
- Completion of the flag set in 2022
- 网页挖矿溯源?浏览器浏览历史查看工具Browsinghistoryview
猜你喜欢
随机推荐
【Image Classification】2022-ResMLP
是什么让训练综合分类网络艰苦?
ARP Spoofing - Tutorial Details
维度表设计
excel高级绘图技巧100讲(二十三)-Excel中实现倒计时计数
获取属性特性几种方法
动态网页开发基础
怎么进行服务器性能监控,有什么监控工具
Example 047: Functions Swap Variables
芯片加速器 Accelerator
关于redis在业务中的应用问题,如何解决?
HACKTHEBOX——Bank
WPF 实现更换主题色
三极管开关电路参数设计与参数介绍
使用flink-sql写入mysql的时候,只指定插入的字段,但是会报错id字段错误,没有默认值,创
nodejs 时钟案例(fs模块),重复使用fs.writeFile方法,旧内容会被覆盖
Research on IC enterprises
国能准能集团研发矿山数字孪生系统 填补国内采矿行业空白
How does a new tester do functional testing?Test thinking is really important
js阻止事件冒泡方案