has_any_index
Returns the index in the lookup array of the first element found as a term in the source string, or -1.
Syntax
has_any_index(source, lookup)Parameters
Prop
Type
Given a dynamic field
This parameter is string-only. In permissive mode, which every query runs in, almost every field arrives as a dynamic, so passing one works because Berserk injects asstring: extract-or-null, the value when it really is a string and null otherwise, so the call yields null (a predicate yields false). A property bag or array is therefore not matched, and tostring() is never applied implicitly — use it explicitly to match a bag's JSON text, keys included. To search the strings inside an object or array, write body.* contains "x" (also has, hasprefix and hassuffix). See String coercion and the asXXX family.
Returns: long
Examples
Example 1 — Returns 1 (index of "Lindisfarne" in the lookup array)
print has_any_index(
"The longship Naglfar sailed to Lindisfarne",
dynamic(["Kattegat", "Lindisfarne", "York"])
)| print_0 (long) |
|---|
| 1 |
Example 2 — Returns -1 when no lookup value matches
print has_any_index(
"The longship Naglfar sailed to Lindisfarne",
dynamic(["Paris", "York", "Dublin"])
)| print_0 (long) |
|---|
| -1 |