Я новичок в ElasticSearch, и мне нужна помощь в решении следующих проблем:
У меня есть набор документов, который содержит несколько продуктов. Я хочу отфильтровать свойство продукта product_brand
по «Apple» и получить количество продуктов, соответствующих фильтру. Однако результат должен быть сгруппирован по идентификатору документа, который также является частью самого документа (test_id
).
Пример документа:
"test" : {
"test_id" : 19988,
"test_name" : "Test",
},
"products" : [
{
"product_id" : 1,
"product_brand" : "Apple"
},
{
"product_id" : 2,
"product_brand" : "Apple"
},
{
"product_id" : 3,
"product_brand" : "Samsung"
}
]
Результат должен быть:
{
"key" : 19988,
"count" : 2
},
В SQL это будет выглядеть примерно так:
SELECT test_id, COUNT(product_id)
FROM `test`
WHERE product_brand = 'Apple'
GROUP BY test_id;
Как я могу этого добиться?