2017-02-08 9 views
0

私は、既存のクエリに機能を追加しようとしています。基本的には、1000のドキュメントを返すクエリを実行します。それらのドキュメントはすべて同じ構造を持ち、特定のフィールドの値だけが異なります。結果として完全なリストを取得するだけでなく、値YのフィールドXがいくつあるか、値ZなどのフィールドXがいくつあるかを数えます。ネストされたカウントクエリ

基本的にすべての結果+ SQL "グループ"のように動作する4または5の "カウント"を取得します。アクティブなクライアント、過去のクライアント、など活発な見通しがあるそれらの何を見せながら これのポイントは...、(フィルタリングなし)私達のデータベース内のすべてのクライアントを完全にテキスト検索を可能にし

行うための任意の方法です。これは追加の/個別のクエリを実行することなく? ANSWER WITH

EDIT:

集計移動するための方法です。ここで私はそれをやったのですが、それは非常に簡単で、私はずっと難しい作業を期待していました!それも条件としませ単一のフィールドのリストに、それはそれがあっただけでどのように簡単だということ

{ 
"query": { 
    "term": { 
     "_type":"client" 
    } 
}, 
"aggregations" : { 
    "agg1" : { 
     "terms" : { 
      "field" : "listType.typeRef.keyword" 
     } 
    } 
} 

}

注意!

答えて

1

あなたが探しているものはaggregation queryと信じています。

ドキュメントは十分にはっきりしている必要がありますが、苦労した場合は、ESクエリをお送りください。

+0

実際にテキストの最初のページを読んだら実際にはかなり簡単でした。私は将来のトラブルに遭遇する可能性のある人々を助けるために私の最初の質問を更新します。ありがとう! –