# AggregationのBucketingについて

**URL:** <https://discuss.elastic.co/t/aggregation-bucketing/23846>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [June 17, 2015, 2:38pm UTC](https://discuss.elastic.co/t/aggregation-bucketing/23846 "2015-06-17T14:38:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![hirarin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hirarin/32/3389_2.png) [@hirarin](https://discuss.elastic.co/u/hirarin)\
**Post date:** [June 17, 2015, 2:38pm UTC](https://discuss.elastic.co/t/aggregation-bucketing/23846/1 "2015-06-17T14:38:39Z")

</div>

初めまして。

Aggregationのやり方について質問です。

ElasticsearchのDynamic Mappingを使って任意のフィールド名でindexさせようと考えています。  
ただ、後々ある一定のルールで集計をかけたいため、フィールド名のprefixでバケッティング後、  
集計できないかと思い、方法を探しています。

あくまで例なのですが、例えば

```auto
PUT aggregation_test/factor/1
{
  "text_name": "taro"
}

PUT aggregation_test/factor/2
{
  "text_address": "tokyo"
}

PUT aggregation_test/factor/3
{
  "radio_gender": "male"
}

PUT aggregation_test/factor/4
{
  "select_hobby": ["car", "bike"]
}

```

上記のようなデータに対してフィールドがtext\_で始まるドキュメントを  
バケッティングした状態で各データに対して集計をかけたい場合にどうすれば良いでしょうか？

実際には希望通りには動きませんが、イメージ的には下記のような感じです。

```auto
GET aggregation_test/factor/_search
{
  "aggs": {
    "form_values": {
      "terms": {
        "field": "text_*"
      }
    }
  }
}

```

これに対して

```auto
"aggregations": {
  "form_values": {
     "doc_count_error_upper_bound": 0,
     "sum_other_doc_count": 0,
     "buckets": [
        {
           "key": "taro",
           "doc_count": 1
        },
        {
           "key": "tokyo",
           "doc_count": 1
        }
     ]
  }
}

```

このようなデータが返ってきてほしいのですが・・・。

Elasticsearch自体の勉強不足で、うまく説明できていないかもしれませんが、  
もし解決策をお持ちの方がいらっしゃいましたらご教示いただけますと幸いです。

宜しくお願い致します。

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [June 18, 2015, 5:50am UTC](https://discuss.elastic.co/t/aggregation-bucketing/23846/2 "2015-06-18T05:50:49Z")

</div>

はじめまして、@johtaniです。

こちらにも記載がありますが、複数のフィールドをまとめるのは現時点ではサポートしていません。

[https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html#\_multi\_field\_terms\_aggregation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html#_multi_field_terms_aggregation)

データを入れ直すことができるのであれば、`copy_to`を活用して、集計するための1つのフィールドに入れていただくのが良いかと思います。

---

<div class="post-metadata">

**Author:** ![hirarin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hirarin/32/3389_2.png) [@hirarin](https://discuss.elastic.co/u/hirarin)\
**Post date:** [June 18, 2015, 8:25am UTC](https://discuss.elastic.co/t/aggregation-bucketing/23846/3 "2015-06-18T08:25:39Z")

</div>

@johtaniさん、 ご回答ありがとうございます！

やはり対応されていないのですね。。  
ドキュメントの読み込みも足りておらず、お手数をおかけ致しました。

まだデータは入っておらず、データの入れ方に関しては考慮の余地がありますので、  
その方面から考え直してみようかと思います。

ご丁寧にありがとうございました。  
大変勉強になりました！

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:52pm UTC](https://discuss.elastic.co/t/aggregation-bucketing/23846/4 "2017-07-06T13:52:07Z")

</div>


