Я использую ES v7.3, и у меня есть сопоставление родитель-потомок в моем индексе, я хочу квалифицировать родительские документы в своем индексе на основе некоторых результатов агрегирования, примененных к дочерним документам, но я не могу этого сделать, вот ссылка на Что мне нужно...
Отображение индекса:
PUT example
{
"mappings": {
"properties": {
"join": {
"type": "join",
"relations": {
"user": "session"
}
}
}
}
}
Родительский документ:
PUT example/_doc/1
{
"join": {
"name": "user"
},
"type": "identify",
"device": "xx"
"profileId": "1052210",
"updatedAt": "2020-12-30T17:06:22.851Z"
}
1-й детский документ:
PUT example/_doc/2?routing=1
{
"join": {
"name": "session",
"parent": "1"
},
"page_view_count": 10,
"creation_date": "2020-12-30T13:45:37.851Z"
}
2-й детский документ:
PUT example/_doc/3?routing=1
{
"join": {
"name": "session",
"parent": "1"
},
"page_view_count": 20,
"creation_date": "2020-12-30T13:45:37.851Z"
}
Требование:
- Пользователи, у которых page_view_count > 25 за последние 7 дней, поэтому мы хотели агрегировать page_view_count в дочерних документах и проверить, равна ли их сумма > 25 или нет, если она удовлетворяет условию, то мы должны получить родительский документ в ответ, иначе нет.
ПРИМЕЧАНИЕ. Эти дочерние документы формируются для каждого сеанса пользователя, и, следовательно, подсчет ведется в документах ES для сеанса.