Итак, у меня есть случай, когда мне нужно использовать лучшие результаты при преобразовании, я хочу показать данные на основе
у меня есть эти данные
email col2 col3 col4 col5 Time
a.com a a a a 11:00
a.com a a a a 11:01
a.com a b a a 11:02
Я хочу удалить дубликат электронной почты и показывать его только в последнее время. Я использую преобразование и агрегирую его на основе максимального времени. а для группы by я выбираю все нужные мне поля. Он возвращает такие данные, как: я преобразовываю индекс и группирую его: электронная почта, col2, col3, col4 и агрегирую его по максимальному (времени)
Текущий индекс
email col2 col3 col4 col5 Time
a.com a a a a 11:01
a.com a b a a 11:02
Я только хочу, чтобы он показывал данные моей цели
email col2 col3 col4 col5 Time
a.com a b a a 11:02
Как я могу сделать преобразование на основе групповой электронной почты вместо каждого поля? Так как мне нужно все поле, но я не думаю, что правильно добавлять все as group by, но есть только 2 метода: либо агрегация, либо groupby
мое определение трансформации: это не то, что мне нужно
{
"id": "transform_baru",
"source": {
"index": [
"email-profile-nov-bug*"
],
"query": {
"match_all": {}
}
},
"dest": {
"index": "transform_baru"
},
"pivot": {
"group_by": {
"Email.keyword": {
"terms": {
"field": "Email.keyword"
}
},
"fa.keyword": {
"terms": {
"field": "fa.keyword"
}
},
"ever.keyword": {
"terms": {
"field": "ever.keyword"
}
},
"bln.keyword": {
"terms": {
"field": "bln.keyword"
}
},
"domain.keyword": {
"terms": {
"field": "domain.keyword"
}
},
"Email_age_category.keyword": {
"terms": {
"field": "Email_age_category.keyword"
}
},
"Status_Category.keyword": {
"terms": {
"field": "Status_Category.keyword"
}
},
"Vintage_cat.keyword": {
"terms": {
"field": "Vintage_cat.keyword"
}
}
},
"aggregations": {
"extract_date.max": {
"max": {
"field": "extract_date"
}
}
}
},
"settings": {},
"version": "7.8.0",
"create_time": 1607832008196
}