Fielddata stats

I am on ElasticSearch 6.3 and there are no text fields in my schema with fielddata enabled (but I do have keyword fields). When I do GET /_stats/fielddata?fields=* , I see something like

` "_all" : {
    "primaries" : {
      "fielddata" : {
        "memory_size_in_bytes" : 142037928,
        "evictions" : 0,
        "fields" : {
          "abc.keyword" : {
            "memory_size_in_bytes" : 872
          },
          "xyz.keyword" : {
            "memory_size_in_bytes" : 29720
          },
		  
...

   "posts-000051" : {
      "uuid" : "abcde",
      "primaries" : {
        "fielddata" : {
          "memory_size_in_bytes" : 516388,
          "evictions" : 0,
          "fields" : {
            "abc.keyword" : {
              "memory_size_in_bytes" : 8864
            },
            "xyz.keyword" : {
              "memory_size_in_bytes" : 4616
            },`

The question is, what does "fielddata" mean here? Isn't fielddata disabled by default on text fields? Don't keyword fields use docvalues? So what is this data shown above? Shouldn't the query return all zeroes if there are no text fields with fielddata explicitly enabled? How can a keyword field have fielddata associated with it?

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

Since I ran into this question and it puzzled me as well. It might be global ordinals:

The global ordinal mapping is an on-heap data structure. When measuring memory usage, Elasticsearch counts the memory from global ordinals as fielddata.