У меня есть случай использования в друиде, где данные в реальном времени поступают в формате, например,
task{
taskno;
category;
}
Здесь категория может быть "назначена" или "неназначена". Сюда входят следующие задачи:
taskno:1,category:"assigned"
taskno:2,category:"unassigned"
taskno:3,category:"assigned"
taskno:4,category:"assigned"
Здесь, если я выполняю запрос с фильтром как "категория" со счетчиком (*), я получаю результат как;
assigned:3
unassigned:1
Теперь новое событие приходит с
taskno:2,category:"assigned"
Я хочу, чтобы результаты запроса
assigned:4
unassigned:0
Есть ли способ сделать это, используя Javascript UDF или что-то в друиде? Благодарю.
Вы можете сначала отфильтровать свой запрос по задаче и отфильтровать его по категории с порядком, как desc и limit 1. Он должен дать вам желаемый результат.
И в вашей функции, где вы получаете результаты, вы можете добавить счетчики, или вы можете написать функцию агрегации сообщений, чтобы сделать то же самое в друиде.