# Aggregation Script with ID and use it in condition

**URL:** <https://discuss.elastic.co/t/aggregation-script-with-id-and-use-it-in-condition/248749>\
**Category:** Elasticsearch\
**Created:** [September 15, 2020, 11:26pm UTC](https://discuss.elastic.co/t/aggregation-script-with-id-and-use-it-in-condition/248749 "2020-09-15T23:26:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![saradac](https://avatars.discourse-cdn.com/v4/letter/s/3be4f8/32.png) [@saradac](https://discuss.elastic.co/u/saradac)\
**Post date:** [September 15, 2020, 11:26pm UTC](https://discuss.elastic.co/t/aggregation-script-with-id-and-use-it-in-condition/248749/1 "2020-09-15T23:26:49Z")

</div>

Hi All,

I am using script in aggregation and need two things

1. min\_doc\_count
2. Use aggerartion in condition

All I am trying is to group by outlet and statationno and if count \> 3 send alert.

Below is my script:

```
 "aggs": {
            "scripted": {
              "terms": {
                "script": {
                  "source": "doc['OutletId'].value + ' ' + doc['StationNo'].value"
                },
                "size": 3
              }
            }
          }
```

---

<div class="post-metadata">

**Author:** ![saradac](https://avatars.discourse-cdn.com/v4/letter/s/3be4f8/32.png) [@saradac](https://discuss.elastic.co/u/saradac)\
**Post date:** [September 15, 2020, 11:42pm UTC](https://discuss.elastic.co/t/aggregation-script-with-id-and-use-it-in-condition/248749/2 "2020-09-15T23:42:32Z")

</div>

I fixed the aggregation condition. Still looking for min\_doc\_count

```
"aggs": {
            "group_by_outlet": {
              "terms": {
                "script": {
                  "source": "doc['OutletId'].value + ' ' + doc['StationNo'].value"
                }
              }
            }
          }
```

---

<div class="post-metadata">

**Author:** ![saradac](https://avatars.discourse-cdn.com/v4/letter/s/3be4f8/32.png) [@saradac](https://discuss.elastic.co/u/saradac)\
**Post date:** [September 16, 2020, 12:16am UTC](https://discuss.elastic.co/t/aggregation-script-with-id-and-use-it-in-condition/248749/3 "2020-09-16T00:16:07Z")

</div>

All sorted.

```
  "aggs": {
    "group_by_outlet": {
      "terms": {
        "script": {
          "source": "doc['OutletId'].value + ' ' + doc['StationNo'].value"
        }
      },
      "aggs": {
        "criticals": {
          "bucket_selector": {
            "buckets_path": {
              "doc_count": "_count"
            },
            "script": "params.doc_count > 2"
          }
        }
      }
    }
  }

  "condition": {
	"script": {
	  "source": "return (ctx.payload.aggregations.group_by_outlet.buckets.size() > 0 && ctx.payload.aggregations.group_by_outlet.buckets.0.doc_count >= params.threshold)",
	  "lang": "painless",
	  "params": {
		"threshold": 3
	  }
	}
  }
```

---

<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:** [October 14, 2020, 12:16am UTC](https://discuss.elastic.co/t/aggregation-script-with-id-and-use-it-in-condition/248749/4 "2020-10-14T00:16:20Z")

</div>

Closed on October 14, 2020, 12:16am UTC

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