面试题答案
一键面试1. API 参数
在 Elasticsearch 的搜索请求中,使用 highlight
参数来配置高亮显示。主要涉及以下子参数:
pre_tags
:定义高亮片段开始的标签,默认为<em>
。例如,想要自定义为<span class="highlight">
,则设置此参数为此值。post_tags
:定义高亮片段结束的标签,默认为</em>
。对应上面自定义开始标签,应设置为</span>
。fields
:指定需要高亮显示的字段。可以是单个字段,也可以是多个字段。例如{"title": {}, "content": {}}
表示对title
和content
字段进行高亮。
2. 配置步骤
- 构建搜索请求:以使用 Elasticsearch 的 REST API 为例,发送如下格式的 POST 请求:
{
"query": {
// 这里填写你的查询条件,例如 match 查询
"match": {
"your_field": "your_search_term"
}
},
"highlight": {
"pre_tags": ["<span class="highlight">"],
"post_tags": ["</span>"],
"fields": {
"your_field": {}
}
}
}
- 执行请求:通过 HTTP 客户端(如 curl)发送上述请求到 Elasticsearch 服务端。例如:
curl -X POST "http://localhost:9200/your_index/_search" -H 'Content-Type: application/json' -d'
{
"query": {
"match": {
"your_field": "your_search_term"
}
},
"highlight": {
"pre_tags": ["<span class="highlight">"],
"post_tags": ["</span>"],
"fields": {
"your_field": {}
}
}
}
'
- 处理响应:Elasticsearch 的响应中会包含高亮后的片段,在
highlight
字段下对应指定的字段名中获取,可根据需求在应用程序中进行展示。