QQ扫一扫联系
在 Elasticsearch 中,可以通过使用 highlight 功能来高亮显示搜索结果中的关键词。以下是一些基本步骤:
(1)在搜索查询中设置需要高亮显示的字段和关键词,如下所示:
json
{
"query": {
"match": {
"content": "关键词"
}
},
"highlight": {
"fields": {
"content": {}
}
}
}
在上面的搜索查询中,我们将 "content" 字段设置为需要高亮显示的字段,将 "关键词" 设置为需要搜索的关键词。
(2)发送上述搜索查询请求到 Elasticsearch。
(3)Elasticsearch 返回搜索结果,其中包含了每个匹配的文档以及高亮显示的部分。高亮显示的部分用 <em> 标记包含关键词的片段,默认使用标签 <em> 和 </em> 来标记高亮显示的文本,您也可以通过设置高亮显示选项来自定义标签。
json
{
"took": 10,
"hits": {
"total": 1,
"max_score": 0.19178301,
"hits": [
{
"_index": "my_index",
"_type": "my_type",
"_id": "1",
"_score": 0.19178301,
"_source": {
"content": "这是一篇包含关键词的文章"
},
"highlight": {
"content": [
"这是一篇包含 \<em\>关键词\</em\> 的文章"
]
}
}
]
}
}
在上面的结果中,"\_source" 字段包含了匹配的文档,而 "highlight" 字段包含了高亮显示的部分。
需要注意的是,高亮显示功能可能会影响性能,因此应该根据具体情况进行设置。您可以在 Elasticsearch 官方文档中查找更多关于 highlight 功能的信息。