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 功能的信息。