queryMetadata() resolves the filter against the encrypted metadata index and returns the matching IDs. With text, it also ranks matches by BM25 relevance. It works on untrained indexes.
Parameters
- Without
orderByortext, results come back in no particular order. - Items missing the
orderByfield, or holding a non-scalar value in it, sort last.
Filter constraints
query() falls back to a post-filter over decrypted metadata when the index can’t answer a filter, for pure vector queries. queryMetadata() has no fallback, so every filter must be answerable from the index. The index’s metadataSchema is therefore enforced here:
$regexand$containsneed a field created withpattern: true.- A field created with
filterable: falsecan’t be filtered on. $typeisn’t supported.
CyborgDBValidationError (HTTP 400) with the reason. Nested dot-paths such as 'loc.city' are supported.
Returns
Promise<MetadataResult[]>: one object per match.
Exceptions
CyborgDBValidationError
CyborgDBValidationError
orderByis an object with more than one key, or isn’t a string or object. Thrown before any request is sent.- The service rejects the query (HTTP
400): see Filter constraints.
CyborgDBAuthenticationError
CyborgDBAuthenticationError
The
indexKey or apiKey is invalid (HTTP 401).CyborgDBServiceError
CyborgDBServiceError
The service returns
5xx.