据我所知,没有确切的方法只显示与您的查询匹配的列。但您可以使用highlighting 来突出显示匹配的字词。
添加一个带有索引数据的工作示例、映射、搜索查询一个搜索结果
索引映射:
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "integer"
},
"gender": {
"type": "text"
},
"height": {
"type": "integer"
}
}
}
}
索引数据:
{
"name": "c",
"gender": "female",
"age": 21,
"height": 160
}
{
"name": "a",
"gender": "male",
"age": 20,
"height": 150
}
{
"name": "b",
"gender": "male",
"age": 30,
"height": 100
}
搜索查询:
{
"query": {
"multi_match": {
"query": "male"
}
},
"highlight": {
"fields": {
"*": {
"type": "plain",
"fragment_size": 20,
"pre_tags": "<span class='bold'>",
"post_tags": "</span>",
"number_of_fragments": 1
}
}
}
}
搜索结果:
"hits": [
{
"_index": "67582942",
"_type": "_doc",
"_id": "1",
"_score": 0.35667494,
"_source": {
"name": "a",
"gender": "male",
"age": 20,
"height": 150
},
"highlight": {
"gender": [
"<span class='bold'>male</span>" // note this
]
}
},
{
"_index": "67582942",
"_type": "_doc",
"_id": "2",
"_score": 0.35667494,
"_source": {
"name": "b",
"gender": "male",
"age": 30,
"height": 100
},
"highlight": {
"gender": [
"<span class='bold'>male</span>" // note this
]
}
}
]