- Search for exact values: search for exact values or ranges of numbers, dates, IPs, or strings.
- Full-text search: use full text queries to query unstructured textual data and find documents that best match query terms.
- Vector search: store vectors in LambdaDB and use approximate nearest neighbor (ANN) to find vectors that are similar, supporting use cases like semantic search.
LambdaDB is eventually consistent by default, so there can be a slight delay before new or changed documents are visible to queries.
If your application requires strong (read-after-write) consistency, set
consistentRead (or consistent_read in Python) to true when querying a branch directly, at the expense of potential higher latency and cost. Tag and alias reads reject consistentRead: true, including an alias that targets a branch.This overlays eligible pending writes; pending bulk imports remain invisible until committed. A pending payload above the consistent-read limit returns 429. See Consistent reads.total counts the returned documents even when they are delivered through docsUrl; it is not a count of every document matching the query. A document’s score can be omitted when the query does not compute one.
Large results may be returned through docsUrl instead of inline docs. See Large results for REST download instructions and SDK behavior.
Select partitions to search
Partitioning is configured by the application through the collection’spartitionConfig. On a partitioned collection, top-level partitionFilter limits the request to the physical partitions associated with the supplied field values. Other partitions are not searched. Without partitionFilter, the search scope includes all partitions.
For example, assume the collection has a tenant_id keyword index, a content text index, and partitionConfig set to { "fieldName": "tenant_id", "dataType": "keyword", "numPartitions": 4 }. Send this query body to search the authorized tenant’s data:
field must match the configured partition field, and in contains field values, not physical partition IDs. Hash partitioning can place several field values in the same physical partition; the request also restricts matches to the supplied values. Derive permitted values in your backend from the caller’s authorization.
Use query predicates, including knn.filter, for additional document conditions within that search scope. A document predicate alone does not replace partitionFilter for skipping physical partitions. Internal sharding distributes query execution and has no user-facing configuration; it is separate from this explicit partition selection.
See Create a partitioned collection for setup and Read usage for the effect of partition selection on billing.
Example
"ref": { "kind": "branch", "name": "candidate" } alongside query and size. Omitting ref selects main. See Branches, tags, and aliases.
The response will look like this:
score, and it is calculated based on the BM25 algorithm for full-text search
and the configured similarity metric for vector search.