Querying indexes
Start with Index design and the operator reference.
Query semantics
Section titled “Query semantics”Ordered index queries
Section titled “Ordered index queries”Ordered indexes are used through normal property filters and order clauses.
Examples:
Equals( Person.ref { surname } with "garcia lopez")Prefix( Person.ref { surname } with "gar")Orders( Person.ref { surname }.ascending(), Person.ref { firstName }.ascending())Those map naturally onto:
ReferenceNormalizeReversedReferenceToMaxMultiple
Search index queries
Section titled “Search index queries”Named search indexes are queried explicitly through search filters.
Examples:
Matches( "name" with "garcia lopez")MatchesPrefix( "name" with "gar")MatchesRegEx( "name" with Regex("^gar.*$"))This separation is intentional.
Property filters mean: “match this property using property semantics”
Named search filters mean: “search this named search surface using search semantics”
Geospatial candidate indexes
Section titled “Geospatial candidate indexes”GeoHash(location.ref(), precisionBits = 32u) narrows GeoWithinBox and
GeoWithinRadius scans. It stores one stable geohash cell per record. The
planner covers the query bounds with at most 256 byte-aligned prefixes,
reducing precision when needed, and exact geometry removes false positives.
Geohash ordering is spatial cell order; it does not provide distance sorting or
nearest-neighbour ranking.
That keeps ordered equality/prefix/range logic separate from token search logic.
