{
"size": 0,
"aggs": {
"uniq_country": {
"terms": {
"field": "alarmData.alarmType"
}
}
}
}
{
"size": 0,
"query": {
"bool": {
"must": [
{
"range": {
"dxpGpsData.gpsTime": {
"lte": $gpsTime
}
}
},
{
"range": {
"dxpGpsData.latitude": {
"gte": 1
}
}
},
{
"range": {
"dxpGpsData.latitude": {
"gte": 1
}
}
}
],
"filter": [
{
"terms": {
"imei.keyword": $imei
}
}
]
}
},
"aggregations": {
"by_imei": {
"terms": {
"size": 2147483647,
"field": "imei.keyword"
},
"aggregations": {
"online_time": {
"max": {
"field": "dxpGpsData.gpsTime"
}
},
"detail": {
"top_hits": {
"size": 1,
"from": 0,
"_source": {
"excludes": [],
"includes": [
"dxpGpsData.latitude",
"dxpGpsData.longitude",
"dxpGpsData.gpsTime"
]
},
"sort": [
{
"dxpGpsData.gpsTime": {
"order": "desc"
}
}
]
}
}
}
}
}
}
{
"_source": {
"includes": [
"imei",
"dxpGpsData.gpsTime",
"dxpGpsData.speed",
"dxpGpsData.longitude",
"dxpGpsData.latitude",
"dxpFullProtoData.alarmType"
],
"excludes": []
},
"from": 0,
"size": 20,
"min_score": 1,
"query": {
"function_score": {
"query": {
"bool": {
"must": [
{
"range": {
"dxpFullProtoData.alarmType": {
"gt": 0
}
}
},
{
"range": {
"dxpGpsData.latitude": {
"gte": 1
}
}
},
{
"range": {
"dxpGpsData.latitude": {
"gte": 1
}
}
},
{
"range": {
"dxpGpsData.speed": {
"lte": 200
}
}
},
{
"range": {
"dxpGpsData.gpsTime": {
"gte": $startTime,
"lte": $endTime
}
}
}
],
"filter": [
{
"terms": {
"imei": $imei
}
}
]
}
}
}
},
"sort": [
{
"dxpGpsData.gpsTime": "desc"
}
]
}
es的in查询,in中id大于1024个,导致es报错,es默认支持元素数量为1024个。 编辑elasticsearch.yml,添加如下配置: indices.query.bool.max_clause_count: 10240
或者把must中的terms移至filter中
必须过滤条件建议优先使用filter,只有该条件要参与score计算时才用must!