高亮显示的实现分为两步:
- 1)给文档中的所有关键字都添加一个标签,例如标签
- 2)页面给标签编写CSS样式
语法:
点击查看代码
GET /hotel/_search
{
"query": {
"match": {
"FIELD": "TEXT" // 查询条件,高亮一定要使用全文检索查询
}
},
"highlight": {
"fields": { // 指定要高亮的字段
"FIELD": {
"pre_tags": "<em>", // 用来标记高亮字段的前置标签
"post_tags": "</em>" // 用来标记高亮字段的后置标签
}
}
}
}
注意:
- 高亮是对关键字高亮,因此搜索条件必须带有关键字,而不能是范围这样的查询。
- 默认情况下,高亮的字段,必须与搜索指定的字段一致,否则无法高亮
- 如果要对非搜索字段高亮,则需要添加一个属性:required_field_match=false
示例:
点击查看代码
GET /hotel/_search
{
"query": {
"match": {
"all": "希尔顿上海"
}
},
"highlight": {
"fields": {
"name": {
"require_field_match": "false"
}
}
}
}