Loading

ES|QL ABSENT function

Embedded
field

Expression that outputs values to be checked for absence.

Returns true if the input expression yields no non-null values within the current aggregation context. Otherwise it returns false.

field result
aggregate_metric_double boolean
boolean boolean
cartesian_point boolean
cartesian_shape boolean
date boolean
date_nanos boolean
dense_vector boolean
double boolean
exponential_histogram boolean
geo_point boolean
geo_shape boolean
geohash boolean
geohex boolean
geotile boolean
histogram boolean
integer boolean
ip boolean
keyword boolean
long boolean
tdigest boolean
text boolean
unsigned_long boolean
version boolean
FROM employees
| WHERE emp_no == 10020
| STATS is_absent = ABSENT(languages)
		
is_absent:boolean
true

To check for the absence inside a group use ABSENT() and BY clauses

FROM employees
| STATS is_absent = ABSENT(salary) BY languages
		
is_absent:boolean languages:integer
false 1
false 2
false 3
false 4
false 5
false null

To check for the absence and return 1 when it's true and 0 when it's false you can use to_integer()

FROM employees
| WHERE emp_no == 10020
| STATS is_absent = TO_INTEGER(ABSENT(languages))
		
is_absent:integer
1