# Aggregations sum の doc\_count\_error\_upper\_bound について

**URL:** <https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [November 12, 2018, 2:41am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222 "2018-11-12T02:41:15Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![gnext](https://avatars.discourse-cdn.com/v4/letter/g/a9a28c/32.png) [@gnext](https://discuss.elastic.co/u/gnext)\
**Post date:** [November 12, 2018, 2:41am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222/1 "2018-11-12T02:41:15Z")

</div>

Aggregationsでtermsでグループ化した上でsumを使用するとデータ数によりdoc\_count\_error\_upper\_boundが0件にならず正常にsumの値を取得できない場合があります。

"terms": {"field": "category.value", "size": 200}

sizeを指定すれば取得できるようになりますが、データ数によっては処理に時間がかかったり指定したsize以上のデータが存在する可能性もあります。

確実にdoc\_count\_error\_upper\_boundを0に抑える方法はあるのでしょうか？

---

<div class="post-metadata">

**Author:** ![mnozawa](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mnozawa/32/15091_2.png) [@mnozawa](https://discuss.elastic.co/u/mnozawa)\
**Post date:** [November 14, 2018, 2:45am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222/2 "2018-11-14T02:45:07Z")

</div>

`size`に十分大きい数値を設定するのが良いです。  
`size`の他に`shard_size`で制御することもできます。  
[https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html#\_shard\_size\_3](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html#_shard_size_3)

あらかじめcardinality aggregationで指定すべきsizeの値を確認することもできますが、そちらにも同様の問題が付きまといます。  
何れにせよ、集計するデータ量と計算負荷のトレードオフは避けられません。

---

<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:** [November 14, 2018, 5:06am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222/3 "2018-11-14T05:06:46Z")

</div>

データの件数がどのくらいかがわからないですが、対象のインデックスのnumber\_of\_shardsを1にはできないですか？

---

<div class="post-metadata">

**Author:** ![gnext](https://avatars.discourse-cdn.com/v4/letter/g/a9a28c/32.png) [@gnext](https://discuss.elastic.co/u/gnext)\
**Post date:** [November 15, 2018, 2:12am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222/4 "2018-11-15T02:12:23Z")

</div>

1インデックスに対してカテゴリ別（sumの対象ごと）に約10万件程度を想定しています。  
インデックス全体でのデータ件数は増えていく可能性もあります。

この場合、shard数を1にしてパフォーマンス等で懸念されることはありますでしょうか？

---

<div class="post-metadata">

**Author:** ![gnext](https://avatars.discourse-cdn.com/v4/letter/g/a9a28c/32.png) [@gnext](https://discuss.elastic.co/u/gnext)\
**Post date:** [November 15, 2018, 2:13am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222/5 "2018-11-15T02:13:56Z")

</div>

shard\_sizeというのもあるのですね。いろいろ指定して試してみようと思います。  
回答ありがとうございます。

---

<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:** [November 15, 2018, 3:03am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222/6 "2018-11-15T03:03:53Z")

</div>

カテゴリ別ではなく、インデックス全体でどのくらいの件数かによるかと。  
また、マッピングや検索のリクエストがどんな感じになるかによるので、パフォーマンスという観点では、計ってみていただくしかないかと思います。

[https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html#search-aggregations-bucket-terms-aggregation-approximate-counts](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html#search-aggregations-bucket-terms-aggregation-approximate-counts)  
に記載がありますが、shardが複数あるから、近似になるので、shardが1つしかなければdoc\_count\_error\_upper\_boundは必ず0です。

あと、shardに格納できる上限はこちらをご覧ください。  
[https://www.elastic.co/guide/en/elasticsearch/reference/current/\_basic\_concepts.html#getting-started-shards-and-replicas](https://www.elastic.co/guide/en/elasticsearch/reference/current/_basic_concepts.html#getting-started-shards-and-replicas)

---

<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:** [December 13, 2018, 3:03am UTC](https://discuss.elastic.co/t/aggregations-sum-doc-count-error-upper-bound/156222/7 "2018-12-13T03:03:55Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
