Количество результатов эластичного поиска по дням

У меня есть много журналов в elasticsearch, и мне нужно подсчитать, сколько журналов у меня есть за один день за последние 10 дней. К сожалению, мой json не работает. Не могли бы вы проверить, где я ошибся? Заранее спасибо ! :)

Мне нужно что-то вроде:

date : records
2023-03-17  256
2023-03-18  148

Ниже мой json с некоторой ошибкой

GET /index_name/_search
{
  "query": {
    "range": {
      "@timestamp": {
        "gte": "now-11d",
        "lte": "now-1d"
      }
    }
  },

    "aggs" : {
        "byDay" : {
            "date_histogram" : {
                "field" : "@timestamp",
                "calendar_interval" : "1d",
                "format" : "yyyy-MM-dd" 
            }
        }
    }
}

результат вышеуказанного выполнения:

     {
       "took": 448,
       "timed_out": false,
       "_shards": {
         "total": 3,
         "successful": 3,
         "skipped": 0,
         "failed": 0
       },
       "hits": {
         "total": {
           "value": 0,
           "relation": "eq"
         },
         "max_score": null,
         "hits": []
       },
       "aggregations": {
         "byDay": {
           "buckets": []
         }
       }
     }

Структура моего индекса выглядит так:

{   "took": 621,   "timed_out": false,   "_shards": {
    "total": 3,
    "successful": 3,
    "skipped": 0,
    "failed": 0   },   "hits": {
    "total": {
      "value": 10000,
      "relation": "gte"
    },
    "max_score": 1,
    "hits": [
      {
        "_index": "logs-000001",
        "_id": "FDiUoYYB6jibW4tyO_7l",
        "_score": 1,
        "_source": {
          "@timestamp": "2023-03-02T09:08:08.029Z",
          "qid": "7079B4FEE7",
          "status": "status_A",
        }
      },
      {
        "_index": "logs-000001",
        "_id": "FTiUoYYB6jibW4tyO_7l",
        "_score": 1,
        "_source": {
          "@timestamp": "2023-03-02T09:08:08.057Z",
          "qid": "BE5694FEFB",
          "status": "status_A",
        }
      }
    ]   
} }
0
0
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для вашего примера я увеличил диапазон.

{
  "size": 0,
  "query": {
    "range": {
      "@timestamp": {
        "gte": "now-31d",
        "lte": "now-1d"
      }
    }
  },
  "aggs": {
    "byDay": {
      "date_histogram": {
        "field": "@timestamp",
        "calendar_interval": "1d",
        "format": "yyyy-MM-dd"
      }
    }
  }
}

Полученные результаты:

 "aggregations" : {
    "byDay" : {
      "buckets" : [
        {
          "key_as_string" : "2023-03-02",
          "key" : 1677715200000,
          "doc_count" : 2
        }
      ]
    }
  }

Другие вопросы по теме