我有一个索引,并希望在 elasticsearch 中获取一个特定索引的每种类型的条目计数,但可能不提前知道类型。
因此,例如,索引是
/events
类型可能是
/events/type1
/events/type2
...
/events/typeN
而且我想查询索引并说“给我索引事件下每种类型的计数”,所以结果集可能像
/events/type1 : 40
/events/type2: 20
/events/typeN: 10
/events/_count 会给我
/events: 70
编辑:
imotov 的回答很棒。不过,我很难弄清楚如何让它在 JavaScript/Ajax 中轻松工作。我现在有这样的事情:
$.ajax({
type: 'GET',
url: 'http://localhost:9200/events/_search?search_type=count',
data: '{ "facets" : { "count_by_type" : { "terms" : { "field": "_type" }}}}',
success: function(text) {
console.log(text);
}
)}'
但是我只获得了 ES 中元素的总数,答案的方面部分似乎丢失了。