123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- [[query-dsl-exists-query]]
- === Exists query
- ++++
- <titleabbrev>Exists</titleabbrev>
- ++++
- Returns documents that contain an indexed value for a field.
- An indexed value may not exist for a document's field due to a variety of reasons:
- * The field in the source JSON is `null` or `[]`
- * The field has `"index" : false` set in the mapping
- * The length of the field value exceeded an `ignore_above` setting in the mapping
- * The field value was malformed and `ignore_malformed` was defined in the mapping
- [[exists-query-ex-request]]
- ==== Example request
- [source,console]
- ----
- GET /_search
- {
- "query": {
- "exists": {
- "field": "user"
- }
- }
- }
- ----
- [[exists-query-top-level-params]]
- ==== Top-level parameters for `exists`
- `field`::
- (Required, string) Name of the field you wish to search.
- +
- While a field is deemed non-existant if the JSON value is `null` or `[]`, these
- values will indicate the field does exist:
- +
- * Empty strings, such as `""` or `"-"`
- * Arrays containing `null` and another value, such as `[null, "foo"]`
- * A custom <<null-value, `null-value`>>, defined in field mapping
- [[exists-query-notes]]
- ==== Notes
- [[find-docs-null-values]]
- ===== Find documents missing indexed values
- To find documents that are missing an indexed value for a field,
- use the `must_not` <<query-dsl-bool-query, boolean query>> with the `exists`
- query.
- The following search returns documents that are missing an indexed value for
- the `user` field.
- [source,console]
- ----
- GET /_search
- {
- "query": {
- "bool": {
- "must_not": {
- "exists": {
- "field": "user"
- }
- }
- }
- }
- }
- ----
|