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)"
         
       }
     }
   }
 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.

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'])"
       }
     }
   }
 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.