У меня есть это отображение:
...
[products_categories_id] => Array
(
[type] => object
)
...
С этим набором данных:
"products_categories_id": [
{
"id": 164,
"value": "Flight Case e Accessori - Supporti per Chitarra e Basso",
"singular_value": "Flight Case e Accessorio - Supporto per Chitarra e Basso"
},
{
"id": 443,
"value": "Chitarre - Supporti per Chitarra",
"singular_value": "Chitarra - Supporto per Chitarra"
},
{
"id": 450,
"value": "Bassi - Accessori per Basso - Supporti per Basso",
"singular_value": "Basso - Accessorio per Basso - Supporto per Basso"
}
]
И это итоговая сумма продукта:
"hits": {
"total": 67,
Когда я агрегирую результат моего поиска, число агрегации не является правильным, потому что механизм возвращает номер моей категории и количество категорий, существующих в пределах объекта с моей категорией поиска (443)
Это раздел агрегации:
"aggs": {
"filter_category": {
"terms": {
"script": "doc['products_categories_id.id'].value",
"size": "20",
"order": {
"max_score": "desc"
}
},
"aggs": {
"max_score": {
"max": {
"script": "_score"
}
}
}
}
}
И это результаты запроса:
"aggregations": {
"filter_category": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "443",
"doc_count": 24,
"max_score": {
"value": 62.1923942565918
}
},
{
"key": "164",
"doc_count": 40,
"max_score": {
"value": 50.844512939453125
}
},
{
"key": "65",
"doc_count": 2,
"max_score": {
"value": 41.21534729003906
}
},
{
"key": "153",
"doc_count": 1,
"max_score": {
"value": 30.362688064575195
}
}
]
}
}
Я ожидаю этого результата:
{
"key": "443",
"doc_count": 67,
"max_score": {
"value": 62.1923942565918
}
Кто-то может мне помочь, спасибо :) 1025 *