Authorization: Bearer ********************
{
"size": 0,
"track_total_hits":true,
"query": {
"bool": {
"must": [
{
"term": {
"userSn.keyword": "AjIBoWAxNH5YkGQbyrz9VP0qfgLnk73B0SMhvNztWXQ"
}
},
{
"range": {
"createdAt.keyword": {
"gte": "2023-10-05 00:00:00",
"lte": "2023-12-31 00:00:00"
}
}
}
]
}
},
"aggs": {
"provinceAgg": {
"terms": {
// "script": "if (doc.containsKey('province.keyword') && doc['province.keyword'].size() > 0) { return transformLocation(doc['province.keyword'].value); } else { return 'unknown'; }",
// "transformLocation": {
// "script": {
// "source": """
// def provinces = ['河北', '山西', '辽宁', '吉林', '黑龙江', '江苏', '浙江', '安徽', '福建', '江西', '山东', '河南', '湖北', '湖南', '广东', '海南', '四川', '贵州', '云南', '陕西', '甘肃', '青海', '台湾'
// ];
// def autonomousRegions = ['内蒙古', '广西', '西藏', '宁夏', '新疆'
// ];
// def municipalities = ['北京', '天津', '上海', '重庆'
// ];
// def specialAdministrativeRegions = ['香港', '澳门'
// ];
// def location = params[
// 0
// ];
// for (province in provinces) {
// if (location.contains(province)) {
// return province + '省';
// }
// }
// for (autonomousRegion in autonomousRegions) {
// if (location.contains(autonomousRegion)) {
// return autonomousRegion + '自治区';
// }
// }
// for (municipality in municipalities) {
// if (location.contains(municipality)) {
// return municipality + '市';
// }
// }
// for (specialRegion in specialAdministrativeRegions) {
// if (location.contains(specialRegion)) {
// return specialRegion + '特别行政区';
// }
// }
// return location;
// """
// }
// },
"script": "if (doc.containsKey('province.keyword') && doc['province.keyword'].size() > 0) { def location = doc['province.keyword'].value; def provinces = ['河北', '山西', '辽宁', '吉林', '黑龙江', '江苏', '浙江', '安徽', '福建', '江西', '山东', '河南', '湖北', '湖南', '广东', '海南', '四川', '贵州', '云南', '陕西', '甘肃', '青海', '台湾']; def autonomousRegions = ['内蒙古', '广西', '西藏', '宁夏', '新疆']; def municipalities = ['北京', '天津', '上海', '重庆']; def specialAdministrativeRegions = ['香港', '澳门']; for (province in provinces) { if (location.contains(province)) return province + '省'; } for (autonomousRegion in autonomousRegions) { if (location.contains(autonomousRegion)) return autonomousRegion + '自治区'; } for (municipality in municipalities) { if (location.contains(municipality)) return municipality + '市'; } for (specialRegion in specialAdministrativeRegions) { if (location.contains(specialRegion)) return specialRegion + '特别行政区'; } return location; } else { return 'unknown'; }",
"size": 38
}
},
// "aggs": {
// "genderAgg": {
// "terms": {
// "script": "if (doc.containsKey('idCard.keyword') && doc['idCard.keyword'].size() > 0) { def genderDigit = Integer.parseInt(doc['idCard.keyword'].value.substring(doc['idCard.keyword'].value.length() - 2, doc['idCard.keyword'].value.length() - 1)); return genderDigit % 2 == 0 ? 'female' : 'male'; } else { return 'unknown'; }",
// "size": 3
// }
// }
}
}
curl --location --request POST 'http://192.168.1.106:19200/es_order_sink_test/_search' \
--header 'Content-Type: application/json' \
--data-raw '{
"size": 0,
"track_total_hits":true,
"query": {
"bool": {
"must": [
{
"term": {
"userSn.keyword": "AjIBoWAxNH5YkGQbyrz9VP0qfgLnk73B0SMhvNztWXQ"
}
},
{
"range": {
"createdAt.keyword": {
"gte": "2023-10-05 00:00:00",
"lte": "2023-12-31 00:00:00"
}
}
}
]
}
},
"aggs": {
"provinceAgg": {
"terms": {
// "script": "if (doc.containsKey('\''province.keyword'\'') && doc['\''province.keyword'\''].size() > 0) { return transformLocation(doc['\''province.keyword'\''].value); } else { return '\''unknown'\''; }",
// "transformLocation": {
// "script": {
// "source": """
// def provinces = ['\''河北'\'', '\''山西'\'', '\''辽宁'\'', '\''吉林'\'', '\''黑龙江'\'', '\''江苏'\'', '\''浙江'\'', '\''安徽'\'', '\''福建'\'', '\''江西'\'', '\''山东'\'', '\''河南'\'', '\''湖北'\'', '\''湖南'\'', '\''广东'\'', '\''海南'\'', '\''四川'\'', '\''贵州'\'', '\''云南'\'', '\''陕西'\'', '\''甘肃'\'', '\''青海'\'', '\''台湾'\''
// ];
// def autonomousRegions = ['\''内蒙古'\'', '\''广西'\'', '\''西藏'\'', '\''宁夏'\'', '\''新疆'\''
// ];
// def municipalities = ['\''北京'\'', '\''天津'\'', '\''上海'\'', '\''重庆'\''
// ];
// def specialAdministrativeRegions = ['\''香港'\'', '\''澳门'\''
// ];
// def location = params[
// 0
// ];
// for (province in provinces) {
// if (location.contains(province)) {
// return province + '\''省'\'';
// }
// }
// for (autonomousRegion in autonomousRegions) {
// if (location.contains(autonomousRegion)) {
// return autonomousRegion + '\''自治区'\'';
// }
// }
// for (municipality in municipalities) {
// if (location.contains(municipality)) {
// return municipality + '\''市'\'';
// }
// }
// for (specialRegion in specialAdministrativeRegions) {
// if (location.contains(specialRegion)) {
// return specialRegion + '\''特别行政区'\'';
// }
// }
// return location;
// """
// }
// },
"script": "if (doc.containsKey('\''province.keyword'\'') && doc['\''province.keyword'\''].size() > 0) { def location = doc['\''province.keyword'\''].value; def provinces = ['\''河北'\'', '\''山西'\'', '\''辽宁'\'', '\''吉林'\'', '\''黑龙江'\'', '\''江苏'\'', '\''浙江'\'', '\''安徽'\'', '\''福建'\'', '\''江西'\'', '\''山东'\'', '\''河南'\'', '\''湖北'\'', '\''湖南'\'', '\''广东'\'', '\''海南'\'', '\''四川'\'', '\''贵州'\'', '\''云南'\'', '\''陕西'\'', '\''甘肃'\'', '\''青海'\'', '\''台湾'\'']; def autonomousRegions = ['\''内蒙古'\'', '\''广西'\'', '\''西藏'\'', '\''宁夏'\'', '\''新疆'\'']; def municipalities = ['\''北京'\'', '\''天津'\'', '\''上海'\'', '\''重庆'\'']; def specialAdministrativeRegions = ['\''香港'\'', '\''澳门'\'']; for (province in provinces) { if (location.contains(province)) return province + '\''省'\''; } for (autonomousRegion in autonomousRegions) { if (location.contains(autonomousRegion)) return autonomousRegion + '\''自治区'\''; } for (municipality in municipalities) { if (location.contains(municipality)) return municipality + '\''市'\''; } for (specialRegion in specialAdministrativeRegions) { if (location.contains(specialRegion)) return specialRegion + '\''特别行政区'\''; } return location; } else { return '\''unknown'\''; }",
"size": 38
}
},
// "aggs": {
// "genderAgg": {
// "terms": {
// "script": "if (doc.containsKey('\''idCard.keyword'\'') && doc['\''idCard.keyword'\''].size() > 0) { def genderDigit = Integer.parseInt(doc['\''idCard.keyword'\''].value.substring(doc['\''idCard.keyword'\''].value.length() - 2, doc['\''idCard.keyword'\''].value.length() - 1)); return genderDigit % 2 == 0 ? '\''female'\'' : '\''male'\''; } else { return '\''unknown'\''; }",
// "size": 3
// }
// }
}
}'
{}