mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-07 21:48:39 +00:00
a75964d8fd
Now emphasises the test is for indexed values. Previous documentation only mentioned the state of the input JSON doc (null values) but this is only one of several reasons why an indexed value may not exist. Closes #24256
67 lines
1.6 KiB
Plaintext
67 lines
1.6 KiB
Plaintext
[[query-dsl-exists-query]]
|
|
=== Exists Query
|
|
|
|
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,js]
|
|
----
|
|
GET /_search
|
|
{
|
|
"query": {
|
|
"exists": {
|
|
"field": "user"
|
|
}
|
|
}
|
|
}
|
|
----
|
|
// CONSOLE
|
|
|
|
[[exists-query-top-level-params]]
|
|
==== Top-level parameters for `exists`
|
|
`field`::
|
|
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,js]
|
|
----
|
|
GET /_search
|
|
{
|
|
"query": {
|
|
"bool": {
|
|
"must_not": {
|
|
"exists": {
|
|
"field": "user"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
----
|
|
// CONSOLE |