DSL-高亮
在进行关键字搜索时,搜索出的内容中的关键字会显示不同的颜色,称之为高亮
Elasticsearch 可以对查询内容中的关键字部分,进行标签和样式(高亮)的设置
在使用 match 查询的同时,加上一个 highlight 属性
pre_tags
:前置标签post_tags
:后置标签fields
:需要高亮的字段title
:这里声明 title 字段需要高亮,后面可以为这个字段设置特有配置,也可以空
在 Postman 中,向 ES 服务器发 GET 请求
GET http://localhost:9200/student/_search
1
body
{
"query":{
"match":{
"name":"zhangsan"
}
},
"highlight":{
"pre_tags":"<font color='red'>",
"post_tags":"</font>",
"fields":{
"name":{}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
response
{
"took": 90,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": 1.3862942,
"hits": [
{
"_index": "student",
"_type": "_doc",
"_id": "1001",
"_score": 1.3862942,
"_source": {
"name": "zhangsan",
"nickname": "zhangsan",
"sex": "男",
"age": 30
},
"highlight": {
"name": [
"<font color='red'>zhangsan</font>"
]
}
}
]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
示例
Last Updated: 2022/02/05, 15:58:51