当前位置:网站首页>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": {
"*": {}
}
}
}
边栏推荐
猜你喜欢
How to quickly become a software test engineer?What skills do testers need for a monthly salary of 15k?
No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
过水滑环的结构和工作原理
Difference between netstat and ss command
How does a new tester do functional testing?Test thinking is really important
新零售社交电商APP系统平台如何打造公域+私域流量?
【CC3200AI 实验教程5】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-定时器
如何快速成为一名软件测试工程师?测试员月薪15k需要什么技术?
电子产品结构设计中的电磁兼容性(EMC)设计
国能准能集团研发矿山数字孪生系统 填补国内采矿行业空白
随机推荐
exchange2010 邮件数据库无法装入
How to write a high-quality test case?
获取属性特性几种方法
Example 046: Breaking the Cycle
No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
Meteor accelerator Trojan analysis and disposal plan
二进制与内存
applet wxs
Mini Program Navigation and Navigation Parameters
PostgreSQL相关语法及指令示例
Research on IC enterprises
实测办公场景下,国产远程控制软件的表现力如何?(技术解析)
一个刚入行的测试员怎么样做好功能测试?测试思维真的很重要
Small program subcontracting and subcontracting pre-download
Take you to an in-depth understanding of the version update of 3.4.2, what does it bring to users?
The IDEA to automatically generate the serialVersionUID
三极管开关电路参数设计与参数介绍
C - The Battle of Chibi (dp加树状数组前缀和优化)
文本编辑器vim
ARP欺骗-教程详解