Я пытаюсь запросить всех пользователей, у которых есть хотя бы один общий цвет с конкретным пользователем, и мне удалось это сделать, однако я не могу понять, как aggregate
мои результаты, чтобы я мог получить пользователя вместе с общие для них цвета.
Часть моего документа для примера пользователя выглядит следующим образом:
{
// ... other fields
"colors" : [
{
"id" : 1,
"name" : "Green"
},
{
"id" : 7,
"name" : "Blue"
}
]
}
Это мой запрос для получения общих цветов с другим пользователем, который имеет красный, оранжевый и зеленый цвета:
{
"query": {
"nested": {
"path": "colors",
"scoreMode": "sum",
"query": {
"function_score": {
"filter": {
"terms": {
"colors.name": [
"Red","Orange","Green"
]
}
},
"functions": [
// Functions here for custom scoring
]
}
}
}
}
}
Как я могу объединить пользователей с общими цветами?