Я знаю, что это не должно работать таким образом, но есть ли способ заставить агрегировать суммы для ограничения суммы на основе размера, заданного в запросе?Elasticsearch - ограничение количества документов, используемых для суммирования сумм
Как и в этом запросе:
{
"size" : 10,
"query":{
"filtered":{
"query":{
"match_all":{}
},
"filter": {
// some filter
}
}
},
"aggs": {
"value" : {
"sum" :{
"field":"value"
}
}
}
}
Если у меня есть 100 докторов, я хотел бы получить только 10 докторов и сумму этих 10 докторов.
Вкратце: мне нужен ВЫБОР SUM (значение) FROM table LIMIT 10, независимо от оценки.
Вы, ребята, знаете, могу ли я сделать это с помощью ES?
Спасибо, Слоан. Предельный фильтр действительно хороший подход, но поскольку предел применяется _per_ _shard_, он все еще не ограничивает документы так, как я хотел. Облом. Вы знаете, есть ли способ ограничить количество документов, возвращаемых на индекс? – AFMeirelles
О, да, я пропустил это. Извините, я ничего не могу придумать. –
Спасибо в любом случае, Слоан. Для знаю, единственные решения, которые я мог придумать, либо установили один осколок, либо (ужасно, я знаю) «limit»/«shards_number». Однако я не буду использовать ни того, ни другого. – AFMeirelles