我正在使用ES版本2.3.1。实际上,在弹性搜索中,有20亿个文档限制,这就是为什么我要创建数组字段的原因,在该字段中,我会将所有文档保留为一个日期。 我有以下架构:-
{
"mappings": {
"axes_type_test12": {
"properties": {
"totalData": {
"type": "nested",
"properties": {
"gpsdt": {
"type": "date",
"format":"dateOptionalTime"
},
"analog1": {
"type": "integer"
},
"analog2": {
"type": "integer"
},
"analog3" : {
"type" : "integer"
},
"analog4": {
"type": "integer"
},
"digital1": {
"type": "integer"
},
"digital2" : {
"type" : "integer"
},
"digital3": {
"type": "integer"
},
"digital4" : {
"type" : "integer"
},
"lastgpsdt": {
"type": "date",
"format":"dateOptionalTime"
}
}
},
"imei": {
"type": "long"
},
"date": {
"type": "date", "format":"dateOptionalTime"
},
"id" : {
"type" : "long"
}
}
}
}
}'
我正在插入如下记录:-
{
"imei": 866561010511958,
"date": "2018-02-20",
"totalData": [{
"analog4": 1,
"analog3": 1,
"analog2": 1,
"analog1": 1
}, {
"analog4": 2,
"analog3": 2,
"analog2": 2,
"analog1": 2
}, {
"analog4": 11,
"analog3": 11,
"analog2": 11,
"analog1": 11
}, {
"analog4": 9,
"analog3": 9,
"analog2": 9,
"analog1": 9
}, {
"analog4": 3,
"analog3": 3,
"analog2": 3,
"analog1": 3
}, {
"analog4": 4,
"analog3": 4,
"analog2": 4,
"analog1": 4
}]
}
现在,我必须通过一个名为“ analog1”的字段按升序对这些文档进行排序。
我尝试了以下查询,但没有成功。
{
"sort" : [
{
"totalData.analog1" : {
"mode" : "max",
"order" : "asc",
"nested_path" : "totalData"
}
}
]
}