| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | 
[[caching-heavy-aggregations]]== Caching heavy aggregationsFrequently used aggregations (e.g. for display on the home page of a website)can be cached for faster responses. These cached results are the same resultsthat would be returned by an uncached aggregation -- you will never get staleresults.See <<shard-request-cache>> for more details.[[returning-only-agg-results]]== Returning only aggregation resultsThere are many occasions when aggregations are required but search hits are not.  For these cases the hits can be ignored bysetting `size=0`. For example:[source,js]--------------------------------------------------$ curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{  "size": 0,  "aggregations": {    "my_agg": {      "terms": {        "field": "text"      }    }  }}'--------------------------------------------------Setting `size` to `0` avoids executing the fetch phase of the search making the request more efficient.[[agg-metadata]]== Aggregation MetadataYou can associate a piece of metadata with individual aggregations at request time that will be returned in placeat response time.Consider this example where we want to associate the color blue with our `terms` aggregation.[source,js]--------------------------------------------------{    ...    aggs": {        "titles": {            "terms": {                "field": "title"            },            "meta": {                "color": "blue"            },        }    }}--------------------------------------------------Then that piece of metadata will be returned in place for our `titles` terms aggregation[source,js]--------------------------------------------------{    ...    "aggregations": {        "titles": {            "meta": {                "color" : "blue"            },            "buckets": [            ]        }    }}--------------------------------------------------
 |