Field data or doc values on the not_analyzed "raw" value of an analyzed string?

(John T) #1

We are using ES 2.3.2. We have a large number of fields that we are aggregating on to create a facet like filter pane experience. The values are either non-string, not_analyzed, or a multi-field for an analyzed string where we have a not_analyzed raw value that we do the aggregation on.

I am finding that we are getting some JVM thrashing due to field data. As I understand it, values only get loaded into field data when aggregating on an anyalyzed string. In the multifield case, even though we are expressly aggregating on the raw value, is it still using field data as the root indexing for the field was analyzed, and therefore not supported by doc values?


(John T) #2


(Mark Harwood) #3

Can you share the relevant part of your mapping?

(John T) #4

This is the default dynamic mapping for our string fields:

"dynamic_templates": [
"strings": {
"mapping": {
"type": "string",
"fields": {
"raw": {
"ignore_above": 256,
"index": "not_analyzed",
"type": "string"
"match_mapping_type": "string"
We query on the field, and aggregate on the raw (not_analyzed) field.

(system) #5

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