_ignored field

edit

The _ignored field indexes and stores the names of every field in a document that has been ignored when the document was indexed. This can, for example, be the case when the field was malformed and ignore_malformed was turned on, when a keyword field’s value exceeds its optional ignore_above setting, or when index.mapping.total_fields.limit has been reached and index.mapping.total_fields.ignore_dynamic_beyond_limit is set to true.

This field is searchable with term, terms and exists queries, and is returned as part of the search hits.

For instance the below query matches all documents that have one or more fields that got ignored:

response = client.search(
  body: {
    query: {
      exists: {
        field: '_ignored'
      }
    }
  }
)
puts response
GET _search
{
  "query": {
    "exists": {
      "field": "_ignored"
    }
  }
}

Similarly, the below query finds all documents whose @timestamp field was ignored at index time:

response = client.search(
  body: {
    query: {
      term: {
        _ignored: '@timestamp'
      }
    }
  }
)
puts response
GET _search
{
  "query": {
    "term": {
      "_ignored": "@timestamp"
    }
  }
}