У нас есть индекс Kibana, назовем его merges
, если все документы имеют «поле обновления индекса», назовем его indexUpdated
. Значение представляет собой метку времени и одинаково для всех документов (время импорта всех документов из другой базы данных)
В части Markdown визуализации TSVB я хотел бы показать такой текст:
"Данные последний раз обновлялись 25 минут a go"
Вопрос: Как мне получить значение indexUpdated
из любого do c (скажем, последнего) и получить он отформатирован как «NN минут a go» с использованием усов {{ handlebar }}
в Markdown?
Я искал и нашел документы только по агрегированным показателям, таким как количество документов. Я ищу что-то вроде этого запроса (принятие желаемого за действительное) и форматирования результатов поиска: {{ hits.hits[-1]._source.indexUpdated.formatRelativeDate}}
Обновление: Я подхожу немного ближе:
- установите
indexUpdated
в качестве поля времени - в TSVB Markdown >> Data >> Metrics, установите Aggregation на
Count
- в тексте Markdown добавьте:
{{#each count.data.raw }} {{#if @last}} {{0}} {{/if}} {{/each }}
- синтаксис усов означает: просмотрите все необработанные данные подсчета, если последний элемент, выберите первый элемент массива
- итоговый результат:
1588921200000
(это необработанная Javascript дата )
Теперь мне нужно преобразовать эту дату в относительную дату, например «25 минут a go».
В индексе merges
я определил Поле indexUpdated
должно быть относительной датой, которая отображается как таковая в визуализации таблицы. Но запрос через TSVB Markdown & {{ handlebar }}
игнорирует это. Если я использую {{#each count.data.formatted }} ...
, я получаю Mar 29, 2020 @ 00:00:00.000
вместо относительной даты.