У меня есть данные с карт и, например, как следующие:Уникальный термин в ведро в elasticsearch
{
date : 'yyyy-mm-dd',
action : 'click',
userId : 'not_analysed id in this field',
user : {
name : 'John',
age : '28',
email : '[email protected]',
country : 'US'
}
}
Я бы миллионы записей, как это, которые также имеют дублирование, как это журналы активности пользователя, и я хотел бы группируйте их на основе уникальной даты в гистограмме даты с использованием столбца даты. Очень просто использовать мощность, чтобы получить уникальный счет на основе гистограммы даты.
Если я хочу получить конечный результат на основе уникального пользовательского ведра и сгруппировать поле пользователя и получить их счет на основе их профиля, как следует. Скажем, в месяце Ян, у нас есть около 10 000 операций, но только 1000 уникальных пользователей и на основе этих пользователей, мы хотели бы получить данные поля пользователя, чтобы увидеть демографические данные. Имея в виду 10 000 записей, и если вы выполняете мощность на userId, у меня будет 1000 записей. Основываясь на этом 1000 записей, мне нужно иметь следующие результаты. Как консолидировать от 10 000 записей к отдельным тысячам записей и из этих записей сделать это ответы, как показано ниже.
Expected end results:
{
'2016-01-01',
aggs: {
[{
age: 28,
count: 100
}, {
age: 27,
count: 500
}, {
country: 'US',
count: 200
}, {
country: 'Canada',
count: 200
}]
},
'2016-02-01',
aggs: {
[{
age: 29,
count: 200
}, {
age: 31,
count: 1000
}, {
country: 'Mexico',
count: 400
}, {
country: 'UK',
count: 400
}]
}
В заключение, существует ли какой-либо общий способ вычисления, а затем это результат с использованием терминов или даже с использованием агрегатов труб?
Пожалуйста, помогите.
мое решение ниже решило вашу проблему? –