| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | [[search-aggregations-metrics-valuecount-aggregation]]=== Value Count AggregationA `single-value` metrics aggregation that counts the number of values that are extracted from the aggregated documents.These values can be extracted either from specific fields in the documents, or be generated by a provided script. Typically,this aggregator will be used in conjunction with other single-value aggregations. For example, when computing the `avg`one might be interested in the number of values the average is computed over.[source,js]--------------------------------------------------{    "aggs" : {        "grades_count" : { "value_count" : { "field" : "grade" } }    }}--------------------------------------------------Response:[source,js]--------------------------------------------------{    ...    "aggregations": {        "grades_count": {            "value": 10        }    }}--------------------------------------------------The name of the aggregation (`grades_count` above) also serves as the key by which the aggregation result can beretrieved from the returned response.==== ScriptCounting the values generated by a script:[source,js]--------------------------------------------------{    ...,    "aggs" : {        "grades_count" : {             "value_count" : {                 "script" : {                    "inline" : "doc['grade'].value",                    "lang" : "painless"                }            }        }    }}--------------------------------------------------This will interpret the `script` parameter as an `inline` script with the `painless` script language and no script parameters. To use a file script use the following syntax:[source,js]--------------------------------------------------{    ...,    "aggs" : {        "grades_count" : {             "value_count" : {                 "script" : {                    "file": "my_script",                    "params" : {                        "field" : "grade"                    }                }            }        }    }}--------------------------------------------------TIP: for indexed scripts replace the `file` parameter with an `id` parameter.
 |