1

次のように、フィールド username と device_os を持つドキュメントがたくさんあります。

{ "username": "foo", "device_os": "Android", ....},
{ "username": "foo", "device_os": "iOS", ....},
{ "username": "bar", "device_os": "Android", ....},
{ "username": "baz", "device_os": "iOS", ....},
{ "username": "foo", "device_os": "iOS", ....}

次のように、ユーザー名ですべての個別の device_os を取得したいと思います。

{ 
  "foo": ["Android", "iOS"],
  "bar": ["Android"],
  "baz": ["iOS"] 
}

Elasticsearch、特にelasticsearch-pyでこのようなことを行う最良の方法は何ですか?

4

2 に答える 2

1

次の方法で「用語」集計を使用できます

{
 "query": {
           "match_all": {}
          },
 "aggs":{
          "usr_agg":{
                     "terms": {"field": "username"}
                    }
        }
 }

詳細について

于 2016-08-31T19:45:28.507 に答える