In notes of Part 5 of crash course I see
By default, every string gets mapped twice as a text field and as a keyword multi-field. Each field type is primed for different types of requests.
However, when I try to aggregate by a string field (with a limited set of single-word values) I get an error:
{
"type" : "illegal_argument_exception",
"reason" : "Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [measure] in order to load field data by uninverting the inverted index. Note that this can use significant memory."
}
What does this error mean and what is the resolution? For reference my query looks like this:
GET index_name/_search
{
"aggs": {
"maxtime by measure": {
"terms": {
"field": "measure"
}
},
"aggs": {
"max": {
"field": "time"
}
}
},
"size": 0
}
Thanks in advance