You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elasticsearch中返回字段部分内容并高亮搜索关键词?

Elasticsearch实现关键词高亮片段返回的方案

在Elasticsearch里,你要的这种返回关键词高亮片段、而非整个长字段的需求,用高亮(Highlighting)功能就能直接实现,具体配置如下:

  • 搜索请求中添加highlight参数,指定目标字段、高亮标签及片段规则
  • 核心参数说明:
    • pre_tags/post_tags:设置包裹关键词的标签,这里用<strong>和</strong>即可
    • fragment_size:控制每个高亮片段的字符长度,可按需调整
    • number_of_fragments:指定返回的高亮片段数量,一般设1满足需求

具体请求示例

GET /your_index/_search
{
  "query": {
    "match": {
      "description": "day"
    }
  },
  "highlight": {
    "fields": {
      "description": {
        "pre_tags": ["<strong>"],
        "post_tags": ["</strong>"],
        "fragment_size": 30,
        "number_of_fragments": 1
      }
    }
  }
}

返回效果

响应结果中会新增highlight字段,其中description数组里的内容就是你需要的格式:

"...beautiful day to go..."

注意事项

  • 确保description字段为text类型(Elasticsearch默认创建的字段类型),高亮功能依赖分词后的匹配逻辑
  • 若需要调整上下文长度或片段展示规则,可额外配置fragment_offset等参数

内容的提问来源于stack exchange,提问作者Lina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 10:33:19