Loading

ES|QL MV_UNION function

Embedded
field1
Multivalue expression. Null values are treated as empty sets.
field2

Multivalue expression. Null values are treated as empty sets.

Returns all unique values from the combined input fields (set union). Null values are treated as empty sets; returns null only if both fields are null.

field1 field2 result
boolean boolean boolean
cartesian_point cartesian_point cartesian_point
cartesian_shape cartesian_shape cartesian_shape
date date date
date_nanos date_nanos date_nanos
double double double
geo_point geo_point geo_point
geo_shape geo_shape geo_shape
geohash geohash geohash
geohex geohex geohex
geotile geotile geotile
integer integer integer
ip ip ip
keyword keyword keyword
keyword text keyword
long long long
text keyword keyword
text text keyword
unsigned_long unsigned_long unsigned_long
version version version
ROW a = [1, 2, 3, 4, 5], b = [2, 3, 4, 5, 6]
| EVAL finalValue = MV_UNION(a, b)
| KEEP finalValue
		
finalValue:integer
[1, 2, 3, 4, 5, 6]
ROW a = [1, 2, 3, 4, 5]::long, b = [2, 3, 4, 5, 6]::long
| EVAL finalValue = MV_UNION(a, b)
| KEEP finalValue
		
finalValue:long
[1, 2, 3, 4, 5, 6]
ROW a = [true, false], b = [false]
| EVAL finalValue = MV_UNION(a, b)
| KEEP finalValue
		
finalValue:boolean
[true, false]
ROW a = [5.2, 10.5, 1.12345], b = [10.5, 2.6928]
| EVAL finalValue = MV_UNION(a, b)
| KEEP finalValue
		
finalValue:double
[5.2, 10.5, 1.12345, 2.6928]
ROW a = ["one", "two", "three"], b = ["two", "four"]
| EVAL finalValue = MV_UNION(a, b)
| KEEP finalValue
		
finalValue:keyword
["one", "two", "three", "four"]