Skip to content

Search Criteria reference

Search Criteria are filters for Content and Location Search and Repository filtering.

Criteria can take some of the following arguments:

  • target - when the Criterion supports targeting a specific Field, example: FieldDefinition or Metadata identifier
  • value - the value(s) to filter on, typically a scalar or array of scalars
  • operator - constants on Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Operator: IN, EQ, GT, GTE, LT, LTE, LIKE, BETWEEN, CONTAINS. Most Criteria do not expose this and select EQ or IN depending on whether the value is scalar or an array. IN and BETWEEN always act on an array of values, while the other operators act on single scalar value
  • valueData - additional value data, required by some Criteria, for instance MapLocationDistance

Support and capabilities of individual Criteria can depend on the search engine.

In the Legacy search engine, the field index/sort key column is limited to 255 characters by design. Due to this storage limitation, searching content using the Country Field Type or Keyword when there are multiple values selected may not return all the expected results.

Search Criteria

Search Criterion Search based on Content Search Location Search Filtering
Ancestor Whether the Content item is an ancestor of the provided Location
ContentId Content item's ID
ContentTypeGroupId ID of the Content item's Content Type group
ContentTypeId ID of the Content item's Content Type
ContentTypeIdentifier Identifier of the Content item's Content Type
CurrencyCodeCriterion Currency code
DateMetadata The date when content was created or last modified
Depth Location depth in the Content tree
Field Content of one of Content item's Fields
FieldRelation Content items the content in question has Relations to
FullText Full text content of a Content item's Fields
IsCurrencyEnabledCriterion Whether a specified currency is enabled in the system
IsFieldEmpty Whether a specified Field of a Content item is empty or not
IsMainLocation Whether a Location is the main Location of a Content item
IsProductBased Whether content represents a product
IsUserBased Whether content represents a User account
IsUserEnabled Whether a User account is enabled
LanguageCode Whether a Content item is translated into the selected language
LocationId Location ID
LocationRemoteId Location remote ID
MapLocationDistance Distance between the location contained in a MapLocation Field and the provided coordinates
MatchAll Returns all search results
MatchNone Returns no search results
ObjectStateId Object State ID
ObjectStateIdentifier Object State Identifier
ParentLocationId Location ID of a Content item's parent
ParentLocationRemoteId Location remote ID of a Content item's parent
Priority Location priority
RemoteId Remote content ID
SectionId ID of the Section content is assigned to
SectionIdentifier Identifier of the Section content is assigned to
Sibling Locations that are children of the same parent
Subtree Location subtree
TaxonomyEntryId Content tagged with Entry ID
UserEmail Email address of a User account
UserId User ID
UserLogin User login
UserMetadata The creator or modifier of a Content item
Visibility Whether the Content item is visible or not

Logical operators

All Logical operators are supported by Content and Location Search and Repository filtering.

Search Criterion Search based on
LogicalAnd Implements a logical AND Criterion. It matches if ALL of the provided Criteria match.
LogicalNot Implements a logical NOT Criterion. It matches if the provided Criterion doesn't match.
LogicalOr Implements a logical OR Criterion. It matches if at least one of the provided Criteria matches.