q
) ~
) star
)title
, description
, brand
, category
, or price
. q
, applied filters (like brand
or price
), or personalisation information like location
, gender
, or membership
.~
) can operate on text fields, where Greater Than (>
) can only operate on numeric fields.boost>'10'
.=
)dir1='blog'
!=
)dir1!='blog'
>
)boost>'10'
>=
)boost>='10'
<
)boost<'50'
<=
)boost<'50'
^
)dir1^'bl'
$
)dir1#x27;og'
~
)dir1~'blog'
!~
)dir1!~'blog'
~
) and Does Not Contain (!~
) operators can be used to filter values in an array. The following example shows a filter that returns all records with the colour red
stored stored in a color array field.color ~ ['red']
AND
/OR
operators, and brackets.AND
dir1='blog' AND domain='www.search.io'
OR
dir1='blog' OR domain='blog.search.io'
en
on www.search.io
or any page within the en.search.io
domain:TRUE
if field
is NULLTRUE
if field
is NOT NULLNOT IN/IN
function is shorthand for multiple OR
conditions. TRUE
if the field
value on a record is equal to value1
, value2
or value3
or any other additional values defined within a list.TRUE
if the field
on a record is not equal to value1
, value2
or value3
or any other additional values defined within a list.NOT IN/IN
function works only on single value fields.TRUE
if the input geopoint lat_var, lng_var
is within the haversine radius (in kilometres) of the latitude, longitude
geopoint on the record.geo_boost
step that can be used to boost results based on their geo distance as opposed to filtering as per above.TRUE
if the timestamp field
is equal to or greater than the current time (UTC) minus the defined duration
.field
greater than yesterday, use SINCE_NOW(field, '24h')
. This can be beneficial to filter records based on recency such as published date.TRUE
for records where repeated fields have an offset matching the expression
.ARRAY_MATCH()
filter function could be used to evaluate each offset in these fields collectively as if they were singular. To illustrate this, if we had the following product indexed:ARRAY_MATCH(size = '14' AND color = 'white')
, this would look at each offset in the size
and color
arrays respectively and evaluate the values like they were singular. In this case each of the offsets does not match the filter and FALSE
would be returned for this function when evaluating this record.