ElasticSearch中两个日期之间的字段之和

ElasticSearch中两个日期之间的字段之和,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我对ElasticSearch很陌生 我想计算2020年8月27日和2020年8月31日这两个日期之间我无法实现的工资总额 我在这里发布简单的查询和查询结果 我读过关于日期直方图的内容,但找不到具体的答案,如果结果非常简单,那么为什么日期直方图要求输入间隔以及返回桶中的数据 员工索引中的文档是 { "took": 3, "timed_out": false, "_shards": { "

我对ElasticSearch很陌生

我想计算2020年8月27日和2020年8月31日这两个日期之间我无法实现的工资总额

我在这里发布简单的查询和查询结果

我读过关于日期直方图的内容,但找不到具体的答案,如果结果非常简单,那么为什么日期直方图要求输入间隔以及返回桶中的数据

员工索引中的文档是

{
    "took": 3,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 3,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "employees",
                "_type": "_doc",
                "_id": "wO8AMXQBDHla7ClA8iDV",
                "_score": 1.0,
                "_source": {
                    "FirstName": "JOYE",
                    "LastName": "WIATR",
                    "Designation": "CEO",
                    "Salary": 144000,
                    "DateOfJoining": "25/05/2009",
                    "Address": "9068 SW. Grove St. Waynesboro, PA 17268",
                    "Gender": "Female",
                    "Age": 58,
                    "MaritalStatus": "Unmarried",
                    "Interests": "Renting movies,Scuba Diving,Snowboarding,Butterfly Watching,Dumpster Diving,Badminton,Church/church activities"
                }
            },
            {
                "_index": "employees",
                "_type": "_doc",
                "_id": "wu8CMXQBDHla7ClAwCDT",
                "_score": 1.0,
                "_source": {
                    "FirstName": "Ajay",
                    "LastName": "Jaiswal",
                    "Designation": "CEO",
                    "Salary": 44000,
                    "DateOfJoining": "28/08/2020",
                    "Address": "Hyderabad",
                    "Gender": "Male",
                    "Age": 29,
                    "MaritalStatus": "Unmarried",
                    "Interests": "Watching movies , learing from scratch"
                }
            },
            {
                "_index": "employees",
                "_type": "_doc",
                "_id": "w-8KMXQBDHla7ClAICC9",
                "_score": 1.0,
                "_source": {
                    "FirstName": "MR.X",
                    "LastName": "Jaiswal",
                    "Designation": "CEO",
                    "Salary": 56000,
                    "DateOfJoining": "30/08/2020",
                    "Address": "Hyderabad",
                    "Gender": "Male",
                    "Age": 39,
                    "MaritalStatus": "Married",
                    "Interests": "Watching movies,Watching war movies"
                }
            }
        ]
    }
}
这是我的问题

 {
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "DateOfJoining": {
              "gte": "27/08/2020",
              "lte": "31/08/2020"
            }
          }
        }
      ]
    }
  }
}
下面是查询的结果

{
    "took": 11,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 2,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "employees",
                "_type": "_doc",
                "_id": "wu8CMXQBDHla7ClAwCDT",
                "_score": 1.0,
                "_source": {
                    "FirstName": "Ajay",
                    "LastName": "Jaiswal",
                    "Designation": "CEO",
                    "Salary": 44000,
                    "DateOfJoining": "28/08/2020",
                    "Address": "Hyderabad",
                    "Gender": "Male",
                    "Age": 29,
                    "MaritalStatus": "Unmarried",
                    "Interests": "Watching movies , learing from scratch"
                }
            },
            {
                "_index": "employees",
                "_type": "_doc",
                "_id": "w-8KMXQBDHla7ClAICC9",
                "_score": 1.0,
                "_source": {
                    "FirstName": "MR.X",
                    "LastName": "Jaiswal",
                    "Designation": "CEO",
                    "Salary": 56000,
                    "DateOfJoining": "30/08/2020",
                    "Address": "Hyderabad",
                    "Gender": "Male",
                    "Age": 39,
                    "MaritalStatus": "Married",
                    "Interests": "Watching movies,Watching war movies"
                }
            }
        ]
    }
}
我真的无法实现

我想计算2020年8月27日和2020年8月31日这两个日期之间我无法实现的工资总额

尝试下面的查询:

{
  "size": 0,
  "query": {
    "range": {
      "DateOfJoining": {
        "gte": "27/08/2020",
        "lte": "31/08/2020"
      }
    }
  },
  "aggs": {
    "sum_of_salary": {
      "sum": {
        "field": "Salary"
      }
    }
  }
}
我读了关于日期柱状图的内容,但找不到具体的答案 如果结果很简单,那么为什么日期直方图要求 在间隔中,以及返回存储桶中的数据

在数据直方图中,数据是基于某个时间段进行压缩的


e、 g如果您想获得每月支付给员工的工资总额,那么日期直方图将有帮助。

谢谢@Sahil Gupta它为我工作,您能解释一下这个查询是如何执行的吗。比如为什么大小为0,然后是如何执行查询部分以及在aggs末尾。请解释我的理解。最好的方式来探索这些东西是阅读文档和发挥他们。1.size=0表示我们不需要任何查询结果(仅聚合)。2.查询部分首先过滤应用聚合的数据谢谢@Sahil Gupta。