Elasticsearch 实现类 GitHub 关键词搜索与高亮列表展示
Elasticsearch 实现类 GitHub 关键词搜索与高亮列表展示
面向版本:ES 7.x/8.x
适用场景:站内代码/文档搜索、Issue 搜索、知识库检索等需要“关键词+高亮+分页列表”的场景
一、需求拆解(对标 GitHub)
- 用户输入关键词 → 实时返回匹配列表
- 匹配字段:标题、描述、代码内容、文件名等
- 关键词在结果中高亮(默认
<em>标签,可自定义) - 支持分页、高亮片段长度控制、多字段混合排序
- 前端拿到高亮字段后直接渲染,无需二次处理
二、核心流程图
┌-----------┐ keyword ┌------------┐ highlightQuery ┌------------┐
│ Front-End │----------▶│ Gateway │----------------▶│Elasticsearch│
└-----------┘ └------------┘ └------------┘▲ │ highlight/offset ││ │------