/_search endpoint, which allows for advanced filtering and querying.
Request
Search requests are sent as aPOST request to:
filter field that defines your query conditions.
JSON Structure
Filter Operators
| Operator | Description | Applies To |
|---|---|---|
equals | Exact match on one or more fields | All field types |
notEquals | Not equal to the given value | All field types |
greater | Greater than the given value | Date, Timestamp, Integer |
smaller | Smaller than the given value | Date, Timestamp, Integer |
greaterOrEqual | Greater than or equal to the given value | Date, Timestamp, Integer |
smallerOrEqual | Smaller than or equal to the given value | Date, Timestamp, Integer |
contains | Field contains the value | String, Date, UUID, Enum, Array |
notContains | Field does not contain the value | String, Date, UUID, Enum, Array |
like | Partial string match (case-insensitive) | String |
notLike | Partial string mismatch | String |
null | Field must be null | Nullable fields and arrays |
notNull | Field must not be null | Nullable fields and arrays |
Logical Operators
-
orCondition:
Whentrue, filters at this level are combined using OR logic (any condition can match).
Whenfalseor omitted, filters use AND logic (all conditions must match).
This applies both at the root level and insidenestedFilters. -
nestedFilters:
A list of additional filter objects that are evaluated as a group, allowing for nested logic.
Note: Field names used in filters must match the exact field names defined in the resource schema (typically camelCase).
Example: Search Request
Find all StudentPlacements that are inschoolYear 7 and either:
- have an
endDateafter 2025-04-24, or - have no
endDateat all.
Equivalent SQL
This example helps illustrate howorConditionandnestedFiltersmap to groupedAND/ORconditions in SQL.