В SQL, если у меня есть пример таблицы my_site_visits, показывающий, какие страницы посетили пользователи моего сайта:
user_id,url
1,index.html
1,index.html
1,foobar.html
1,index.js
2,a.html
2,b.html
2,index.html
3,foo.js
3,foo.js
4,bar.js
, тогда я могу найти пользователей, которые посетили более одной уникальной страницы, например,
SELECT user_id, COUNT(*) unique_pages_visited
FROM (
SELECT DISTINCT user_id, url
FROM my_site_visits
)
GROUP BY user_id
HAVING unique_pages_visited > 1
Результат:
user_id,unique_pages_visited
1,3
2,3
Есть ли способ сделать это в Elastic, если предположить, что JSON, добавленный в Elastic, имеет аналогичную форму, например,
{
"user_id": n,
"url": string,
[Various other Elastic headers]
}
ТакжеМожно ли это сделать в Kibana, или мне нужно написать скрипт для генерации Elastic-запроса?