インデックスがあり、elasticsearch の特定の 1 つのインデックスのすべてのタイプのエントリの数を取得したいのですが、事前にタイプがわからない場合があります。
したがって、たとえば、インデックスは
/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 内の要素の総数しか取得していないため、回答のファセット部分が欠落しているようです。