Есть ли способ подсчитать, сколько раз конкретное значение во вложенном типе (например, services.service: "map"
) может быть найдено во всех документах?
Документ может выглядеть так:
{
"services": [
{
"service": "map",
"version": 2,
"provider": "none"
},
{
"service": "map",
"version": 0,
"provider": "none"
},
{
"service": "language",
"version": 2,
"provider": "none"
}
],
"date": "2019-04-26T19:17:20.197Z"
}
Используя это сопоставление:
{
"mappings": {
"stat": {
"properties": {
"services": {
"type": "nested",
"properties": {
"version": {
"type": "keyword"
},
"provider": {
"type": "keyword"
},
"service": {
"type": "keyword"
}
}
},
"date": {
"type": "date"
}
}
}
}
}
Я дошел до того, что возвратил счетчик для каждого документа (см. Запрос ниже), но я предпочитаю получать итоговое значение суммирования вхождений из всехмои документы.
{
"query": {
"nested": {
"path": "services",
"query": {
"match" : {
"services.service" : "map"
}
},
"inner_hits": {
"_source" : false,
"docvalue_fields" : ["services.service.keyword"]
}
}
}
}