Отображение выбранного значения в агрегации конвейеров - PullRequest
1 голос
/ 31 октября 2019

Я запускаю агрегацию по хэшу документов в моем наборе. В каждом сегменте я выбираю самый старый и самый последний.

Мне нужен обзор:

  • общее количество документов
  • самый последний
  • самый старый

Мне удалось заставить итоговое значение работать, но я борюсь с самым старым и самым последним.

Мой запрос (ограничен двумя результатами агрегации, пока я не получу правильное значение):

{
  "size": 0,
  "query": {
    "bool": {
      "must_not": [
        {
          "term": {
            "Text_SHA2": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
          }
        }
      ]
    }
  },
  "aggs": {
    "overall_Total": {
      "sum_bucket": {
        "buckets_path": "by_SHA2>_count"
      }
    },
    "overall_MostRecent": {
      "max_bucket": {
        "buckets_path": "by_SHA2>the_MostRecent"
      }
    },
    "by_SHA2": {
      "terms": {
        "field": "Text_SHA2",
        "size": 2
      },
      "aggs": {
        "the_MostRecent": {
          "max": {
            "field": "ReceivedDateUTC"
          }
        },
        "the_Oldest": {
          "min": {
            "field": "ReceivedDateUTC"
          }
        }
      }
    }
  }
}

Что я получу обратно:

{
    "took": 341,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 1163611,
        "max_score": 0.0,
        "hits": []
    },
    "aggregations": {
        "by_SHA2": {
            "doc_count_error_upper_bound": 0,
            "sum_other_doc_count": 1163388,
            "buckets": [
                {
                    "key": "0683dcdcd26c16315292ecf02307e9d819a08522b35dff933b406688d8d3edb9",
                    "doc_count": 119,
                    "the_Oldest": {
                        "value": 1.54284803E12,
                        "value_as_string": "2018-11-22T00:53:50.000"
                    },
                    "the_MostRecent": {
                        "value": 1.572209574E12,
                        "value_as_string": "2019-10-27T20:52:54.000"
                    }
                },
                {
                    "key": "e757c30feeea67425ba02d8821295954d23bb9f6bf979fb8113d2cdf8f79b378",
                    "doc_count": 104,
                    "the_Oldest": {
                        "value": 1.545930842E12,
                        "value_as_string": "2018-12-27T17:14:02.000"
                    },
                    "the_MostRecent": {
                        "value": 1.572340576E12,
                        "value_as_string": "2019-10-29T09:16:16.000"
                    }
                }
            ]
        },
        "overall_Total": {
            "value": 223.0
        },
        "overall_MostRecent": {
            "value": 1.572340576E12,
            "keys": [
                "e757c30feeea67425ba02d8821295954d23bb9f6bf979fb8113d2cdf8f79b378"
            ]
        }
    }
}

Что я хотел бы получить назад (см. Разницу в общем "общем_задаче" в конце):

{
  "took": 341,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 1163611,
    "max_score": 0.0,
    "hits": []
  },
  "aggregations": {
    "by_SHA2": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 1163388,
      "buckets": [
        {
          "key": "0683dcdcd26c16315292ecf02307e9d819a08522b35dff933b406688d8d3edb9",
          "doc_count": 119,
          "the_Oldest": {
            "value": 1.54284803E12,
            "value_as_string": "2018-11-22T00:53:50.000"
          },
          "the_MostRecent": {
            "value": 1.572209574E12,
            "value_as_string": "2019-10-27T20:52:54.000"
          }
        },
        {
          "key": "e757c30feeea67425ba02d8821295954d23bb9f6bf979fb8113d2cdf8f79b378",
          "doc_count": 104,
          "the_Oldest": {
            "value": 1.545930842E12,
            "value_as_string": "2018-12-27T17:14:02.000"
          },
          "the_MostRecent": {
            "value": 1.572340576E12,
            "value_as_string": "2019-10-29T09:16:16.000"
          }
        }
      ]
    },
    "overall_Total": {
      "value": 223.0
    },
    "overall_MostRecent": {
      "value": 1.572340576E12,
      "value_as_string": "2019-10-29T09:16:16.000"
    }
  }
}

Очевидно, что-то не так с моим разделом "total_MostRecent" запроса. Если бы кто-нибудь мог указать мне на это, я был бы очень признателен.

...