1、数据计划
POST
{
"size": 1,
"script_fields": {
"sum": {
"script": {
"lang": "expression",
"source": "2 + 3"
}
},
"sub":{
"script":{
"lang": "expression",
"source": "10 - 2"
}
},
"mul":{
"script":{
"lang": "expression",
"source": "3 * 8"
}
},
"div":{
"script":{
"lang": "expression",
"source": "100 / 3"
}
},
"mod":{
"script":{
"lang": "expression",
"source": "100 % 3"
}
},
"pow":{
"script":{
"lang": "expression",
"source": "pow(3,3)" //乘方
}
},
"pow/1":{
"script":{
"lang": "expression",
"source": "pow(27,1/3)" //开方
}
},
"sqrt":{
"script":{
"lang": "expression",
"source": "sqrt(100)" //平方根
}
},
"ln":{
"script":{
"lang": "expression",
"source": "ln(2)+ln(5)"
}
}
}
}
2、从表中取字段参数计算,例如获取表中的age、health两个字段参与计算
POST
{
"from": 0,
"size": 5,
"query": { //查询条件
"match": {
"age": 11
}
},
"_source": { //返回字段 age,health
"includes": [
"age",
"health"
]
},
"script_fields": { //脚本计算
"my_num": {
"script": {
"lang": "expression",
"source": "doc['age'] / (doc['age']+doc['health'])"
}
}
}
}