1
ネストされたデータ型のクエリがあり、ネストされたデータ型の統計集計(クエリによってフィルタリングされたもの)を返したいとします。ここでは、コードです:返さElasticsearchスコープネストされた集計をクエリ
GET dan-created/_search
{
"_source" : ["m_iID", "m_iYear"],
"query": {
"nested": {
"path": "m_PeopleList",
"query": {
"match": {
"m_PeopleList.name": "Daniel"
}
},
"inner_hits" : {}
}
},
"aggregations" : {
"people" : {
"nested" : {
"path" : "m_PeopleList"
},
"aggregations" : {
"averageDist": {
"stats" : {
"field":"m_PeopleList.value"
}
}
}
}
}
}
統計は、インデックス全体のためのものですが、私は彼らが唯一の上記のクエリからの一致を返したいです。私はこの他の例を見たことがありますが、最新版のelasticsearchでは見当たりませんでした。
おかげで、 ダニエル
を使用することができ、私が望むようはい、これは動作します。フィルタのクエリを2回指定することなくこれを行う方法があると私は考えていました。しかし、集計が必要な場合は、クエリセクションを削除して「サイズ」を追加することができます:0。ありがとう! – danieljames
'ネストされた'ドキュメントがなければ、フィルタは一度しか定義できません。 しかし、集計とクエリは同じ 'nested'節を共有していないので、それを2回(size!= 0で)定義しなければなりません。 – ulric260