elasticsearch получить диапазон дат последнего приема - PullRequest
0 голосов
/ 06 августа 2020

У меня есть индекс elasticsearch, который получает новые данные в больших дампах, поэтому, глядя на график, становится очевидно, когда добавляются новые данные. введите описание изображения здесь

Если я хочу получить данные только из самого последнего приема (в данном случае данные за 2020-08-06, как лучше всего это сделать?

Я могу использовать этот запрос, чтобы получить самый последний документ:

GET /indexname/_search
{ 
      "query": {
        "bool": {
          "must": [
            {
              "query_string": {
                "query": queryString
              }
            }
          ]
        }
      },
      "sort": { 
        "@timestamp" : "desc" 
      }, 
      "size": 1 
    }

Which will return the most recent document, in this case a document with a timestamp of 2020-08-06. I can set that to my endDate and set my startDate to that date minus one day, but im worried of cases where the data was ingested overnight and spanned two days.

Я мог бы продолжать делать запросы к go назад во времени 5 часов за раз, чтобы узнать, когда будет самый последний большой пробел, но я беспокоюсь, что запрос в l oop может занять много времени? Есть ли более разумный способ получить диапазон дат моего последнего приема? thx

1 Ответ

0 голосов
/ 06 августа 2020

Когда ваши данные поступают партиями, лучше всего присвоить идентификатор каждой партии. Таким образом, математические вычисления даты не требуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...