我有两个字段:count(对象)和countyby(文本)。计数对象具有几个类型为number的嵌套属性:
"count" : {
"properties" :
"value1" : {
"type" : "long"
},
"value2" : {
"type" : "long"
},
"value3" : {
"type" : "long"
},
"value4" : {
"type" : "long"
},
"value5" : {
"type" : "long"
}
},
"countBy": {
type: "keyword"
}
我需要进行搜索,以根据countBy属性中指定的count的嵌套属性的值对文档进行排序
最佳答案
您可以使用script-based sorting实现此目的:
"sort" : {
"_script" : {
"type" : "number",
"script" : {
"lang": "painless",
"source": "doc['countBy'].value != null ? doc['count.'+doc['countBy'].value].value : 0"
},
"order" : "desc"
}
}
关于elasticsearch - Elastic Search按另一个字段中定义的字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54191142/