Using ES 1.2.1
My aggregation
{
\"size\": 0,
\"aggs\": {
\"cities\": {
\"terms\": {
\"field\": \"city\",\"siz
There are 2 approaches to solve this.
These two concepts with working code examples are illustrated in this blog.
For fields that you want to perform aggregations on I would recommend either the keyword analyzer or do not analyze the field at all. From the keyword analyzer documentation:
An analyzer of type keyword that "tokenizes" an entire stream as a single token. This is useful for data like zip codes, ids and so on. Note, when using mapping definitions, it might make more sense to simply mark the field as not_analyzed.
However if you want to still perform analysis on the field to include for other searches, then consider using the field setting of ES 1.x As described in the field/multi_field documentation. This will allow you to have a value of the field for searching and one for aggregations.