ElasticSearch查询语句
{
"query": {
"match_all": {}
},
"sort": [
{
"age": {
"order": "desc"
}
}
],
"script_fields": {
"formatted_info": {
"script": {
"source": "params._source.name + ':[' + params._source.name + '],年龄:[' + params._source.age + ']岁,地址:[' + params._source.address + ']'",
"lang": "painless"
}
}
}
}
关键部分作用解释
query
部分:
match_all
表示匹配索引中的所有文档。这里使用match_all
是因为题目没有对文档筛选条件进行限制,需要获取所有文档。
sort
部分:
sort
用于对查询结果进行排序。
age
指定按照age
字段进行排序。
order: "desc"
表示按年龄降序排列。
script_fields
部分:
script_fields
用于通过脚本生成新的字段。
formatted_info
是新生成字段的名称。
script
中的source
定义了生成新字段值的脚本逻辑。这里使用Painless脚本语言,将name
、age
和address
字段按照指定格式拼接起来。params._source
用于访问文档的原始字段值。
lang: "painless"
指定使用Painless脚本语言。