GET /work_order_olap/_search
{
"size": 0,
"aggs": {
"group_by_field": {
"terms": {
"size": 2,
"script": "doc['material_no'] +'####'+doc['material_name']+'####'+doc['material_category']"
}
,"aggs":{
"total_material_cost":{
"sum": {
"field": "total_material_cost"
}
}
}
}
}
}
方法2
GET /work_order_olap/_search
{
"size": 0,
"aggs": {
"group_by_field": {
"composite": {
"size": 1200,
"sources": [
{
"material_no": {
"terms": {
"field": "material_no"
}
}
}
, {
"material_name": {
"terms": {
"field": "material_name"
}
}
}
, {
"material_category": {
"terms": {
"field": "material_category"
}
}
}
]
}
,"aggs":{
"total_material_cost":{
"sum": {
"field": "material_quantity"
}
}
}
}
}
}
日期类型tostring 和字符串截取
"aggs": {
"NAME": {
"terms": {
"script": "(doc.pubdate.value+'').substring(0,10)+'####'+doc.country.value +'####'+doc.city.value+'####'+doc.death_toll.value+'####'+doc.injured_toll.value+'####'",
"min_doc_count": 2,
"size": 100
}
, "aggs": {
"NAME": {
"top_hits": {
"from": 0,
"size": 100,
"_source": ["_id","time"],
"sort": ["pubdate"]
}
}
}
}
}