Skip to main content
When listing users, you can filter results with search queries in Lucene query syntax. The Lucene query syntax reference is the authoritative reference, but at a high level, the query string is parsed into a series of terms and boolean operators.

Terms

Terms define strings to search for. Terms support fields, wildcards, and ranges.

Fields

Fields define where to search for the given string. The full list of user profile attributes indicates which fields are searchable.
  • All search values are case sensitive except for search values for normalized user profile fields (email, name, given_name, family_name, and nickname), which are case insensitive.
  • You can search app_metadata and user_metadata fields with a data type of boolean, integer, double, text, object, or array.
  • You cannot search metadata fields that contain an empty array, empty object, or null value because those values are not indexed.
  • Terms without field names do not match user_metadata.
When searching metadata, you can search nested values using the path to the field. If the field is nested in an array, you can ignore the array level. For example, with the following user_metadata structure:

Wildcards

Wildcards match multiple characters using the syntax *.
  • For suffix matching, literals must have 3 characters or more. For example, name:*abc is allowed, but name:*ab is not.
  • You cannot search user_metadata with wildcards.

Ranges

Ranges match values between the specified upper and lower bound.
  • You cannot search user_metadata with ranges.

Boolean operators

Boolean operators logically combine terms. Boolean operators work on all normalized user profile fields and root metadata fields.