Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kibana 带总和的Elasticsearch日期范围聚合_Kibana_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Kibana,elasticsearch" /> elasticsearch,Kibana,elasticsearch" />

Kibana 带总和的Elasticsearch日期范围聚合

Kibana 带总和的Elasticsearch日期范围聚合,kibana,elasticsearch,Kibana,elasticsearch,我已经跟踪并成功查询了我的索引,以返回两个日期范围的数据 我搞不清楚的是,给每个范围加上一个单位的总和。我已经设法添加了一个单位和(参见下面的查询),但这只返回整个范围的和 我想做的是a期和B期的比较。i、 e.本周您上周卖出了X个单位与Y个单位,因此百分比差异为Z { "query":{ "filtered":{ "query":{ "query_string":{ "query":"

我已经跟踪并成功查询了我的索引,以返回两个日期范围的数据

我搞不清楚的是,给每个范围加上一个单位的总和。我已经设法添加了一个单位和(参见下面的查询),但这只返回整个范围的和

我想做的是a期和B期的比较。i、 e.本周您上周卖出了X个单位与Y个单位,因此百分比差异为Z

{  
   "query":{  
      "filtered":{  
         "query":{  
            "query_string":{  
               "query":"*",
               "analyze_wildcard":true
            }
         }
      }
   },
   "size":0,
   "aggs":{  
      "vendor_type":{  
         "terms":{  
            "field":"vendor_type",
            "size":5
         },
         "aggs":{  
            "product_type":{  
               "terms":{  
                  "field":"product_type",
                  "size":5,
                  "order":{  
                     "unit_sum":"desc"
                  }
               },
               "aggs":{  
                  "range":{  
                     "date_range":{  
                        "field":"date",
                        "format":"MM-yyy",
                        "ranges":[  
                           {  
                              "to":"now-1M/M"
                           },
                           {  
                              "from":"now-1M/M"
                           }
                        ]
                     }
                  },
                  "unit_sum":{  
                     "sum":{  
                        "field":"units"
                     }
                  }
               }
            }
         }
      }
   }
}

有人能帮忙吗?提前感谢。

您就快到了,只需将您的
单位总和
移动(或复制)到
范围
聚合中,如下所示:

{
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "*",
          "analyze_wildcard": true
        }
      }
    }
  },
  "size": 0,
  "aggs": {
    "vendor_type": {
      "terms": {
        "field": "vendor_type",
        "size": 5
      },
      "aggs": {
        "product_type": {
          "terms": {
            "field": "product_type",
            "size": 5
          },
          "aggs": {
            "range": {
              "date_range": {
                "field": "date",
                "format": "MM-yyy",
                "ranges": [
                  {
                    "to": "now-1M/M"
                  },
                  {
                    "from": "now-1M/M"
                  }
                ]
              },
              "aggs": {
                "unit_sum": {
                  "sum": {
                    "field": "units"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

哈,我肯定我已经试过了,但它没有说“单位和”。尝试了上面的方法,它只是再次尝试,但我随后发布了“需要出来的产品类型”下的订单,并且成功了!谢谢你的帮助!哦,对不起,我错过了点菜。好球!现在,这是工作,我已经意识到这并不完全是我需要的。to/from为我提供了设置日期/时间前后的所有值,但我需要两个特定日期范围的结果。我已经尝试将to/from改为一对gte/lte条款,但这不起作用。任何指针都将受到欢迎。尝试在同一个散列中添加到和从,而不是在单独的散列中。Genius!就这样。谢谢