在Elasticsearch中汇总嵌套文档

阿雷尔

我正在做一个查询,返回一堆文件。这些文档中的一个字段是称为的一系列字典hourly_values我想返回该字典数组中的秒数字段的总和,但是我无法弄清楚如何进入该数组并求和每个字典中所有秒键的值。

这是存储在elasticsearch中并从简单查询返回的内容:

{
  "took": 21,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 1,
    "hits": [
      {
        "_index": "searchdb",
        "_type": "profile",
        "_id": "915",
        "_score": 1,
        "_source": {
          "id": 915,
          "market": "Chicago",
          "latitude": "41.1234",
          "longitude": "-87.5678",
          "structure_type": "Digital Display",
          "zip": 60654,
          "city": "Chicago",
          "player_id": 1234,
          "geo_location": {
            "lat": 41.1234,
            "lon": -87.5678
          },
          "hourly_values": [
            {
              "datetime": "2015-11-18T20:02:04Z",
              "seconds": 800
            },
            {
              "datetime": "2015-11-18T21:08:29Z",
              "seconds": 800
            },
            {
              "datetime": "2015-11-18T21:37:29Z",
              "seconds": 6400
            }
          ]
        }
      }
    ]
  }
}

这是我要构建的查询:

{
    "size":0,
    "aggregations": {
        "seconds_agg": {
            "geo_distance": {
                "field": "geo_location",
                "origin":"41.893371,-87.628329",
                "unit":"km",
                "ranges":[
                    {
                        "from":0,
                        "to":20
                    }
                ]
            },
            "aggregations":{
                "ring_seconds_sum": {
                    "sum":{
                        "hourly_values":{
                            something goes here    
                        }       
                    }
                }
            }
        }
    }
}

我不知道要在something goes here查询部分中输入什么有任何想法吗?

斯隆·阿伦斯(Sloan Ahrens)

尝试以下操作(我将更改"to":20"to":200与您发布的文档相匹配):

POST /test_index/_search
{
   "size": 0,
   "aggregations": {
      "seconds_agg": {
         "geo_distance": {
            "field": "geo_location",
            "origin": "41.893371,-87.628329",
            "unit": "km",
            "ranges": [
               {
                  "from": 0,
                  "to": 200
               }
            ]
         },
         "aggregations": {
            "ring_seconds_sum": {
               "sum": {
                  "field": "hourly_values.seconds"
               }
            }
         }
      }
   }
}

这是我用来测试的一些代码:

http://sense.qbox.io/gist/02942c5753f6555dfab4571bf8f64bbc1dea74df

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在Swift中汇总CGFloat

来自分类Dev

在Matlab中汇总特定字段

来自分类Dev

在Gradle中汇总任务

来自分类Dev

在Python中汇总嵌套列表

来自分类Dev

使用Elasticsearch的嵌套文档和布尔查询

来自分类Dev

ElasticSearch:更新数组中的嵌套文档

来自分类Dev

在SQL Server中汇总行

来自分类Dev

在vertica中汇总稀疏表

来自分类Dev

在Elasticsearch中汇总值数组

来自分类Dev

在PIVOT中汇总列

来自分类Dev

如何在mongodb中汇总时间序列文档

来自分类Dev

汇总:嵌套文档(嵌套对象)中的分组日期

来自分类Dev

在Kusto中汇总列值

来自分类Dev

ElasticSearch按嵌套文档总数过滤

来自分类Dev

在Firestore查询中汇总周期性文档属性

来自分类Dev

在Julia DataFrame中汇总行

来自分类Dev

在python中汇总多维列表

来自分类Dev

在Excel中汇总列

来自分类Dev

在Matlab中汇总特定字段

来自分类Dev

在Python中汇总嵌套列表

来自分类Dev

在Python中汇总嵌套列表而无需递归

来自分类Dev

在Access中汇总布尔数据

来自分类Dev

ElasticSearch:更新数组中的嵌套文档

来自分类Dev

在Elasticsearch中汇总某一特定索引时,总和不正确

来自分类Dev

通过嵌套的字段值汇总Elasticsearch索引

来自分类Dev

在Excel中汇总数据

来自分类Dev

在elasticsearch中更新多级嵌套文档

来自分类Dev

ElasticSearch:按嵌套文档进行复杂过滤

来自分类Dev

在单个查询中汇总嵌套和非嵌套数据的总数