es-painless

painless之前感觉没必要学,然后最近看了看painless可以做的功能还是很强大的,有的聚合如果能用上painless是很方便的,举个例子
对某一个index中,有两个字段a和b,需求是先算出b-a的值,然后累加,在求avg,这个如果用es的聚合去实现这个流程,至少两次请求,但是painless可以一次就做到

PUT  /test/_doc/1
{
  "a":10,
  "b":20
}

PUT  /test/_doc/2
{
  "a":15,
  "b":26
}

PUT  /test/_doc/3
{
  "a":18,
  "b":26
}

POST /test/_search
{
  "size": 0, 
"aggs": {
  "b_a_avg": {
    "avg": {
      "script": {
        "lang": "painless",
         "source":"return doc['b'].value-doc['a'].value"
      }
    }
  }
}
}

painless文档,具体的语法看文档吧,主要是内置对象,可以做批量更新,聚合,查询等等操作,很实用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,140评论 0 10
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,143评论 0 13
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,131评论 0 10
  • 1. Overview: Structured Streaming是基于Spark SQL引擎的可扩展、具有容错性...
    奉先阅读 7,990评论 0 1
  • 故乡是一朵云 总在有月亮的夜晚升起 故乡是一只透明的风筝 总在繁星满天的时辰飞去 故乡是一条悠长又深远的小道 两侧...
    Victoria的洛丽塔阅读 3,085评论 0 1