Search API

Search documents in your collections using hybrid retrieval.

Search Documents

POST
/api/v1/search/query

Search documents in a collection using hybrid retrieval (dense + sparse vectors). Returns ranked results with relevance scores. The search mode and reranking settings are determined by the collection's configuration.

Request Body

collection
required

stringCollection name to search

query
required

stringSearch query text (max 1000 characters)

limit
optional

integerMax results to return (default 10, max 30)

offset
optional

integerResults to skip for pagination (default 0)

filters
optional

object | nullMetadata filters on indexed fields

include_metadata
optional

booleanInclude metadata in results (default true)

include_images
optional

booleanFetch and include figure images as base64 in metadata.figures[].image_data (default false, adds latency)

Response Fields

results
required

arrayArray of search results with id, text, and metadata

pagination
required

objectContains limit, offset, and hasMore boolean

queryId
required

stringUnique query identifier for audit reference

latencyMs
required

integerSearch latency in milliseconds

Filtering

Use the filters parameter to narrow search results by metadata fields. Two formats are supported and auto-detected based on the top-level keys.

Operators

OperatorDescriptionExample value
eqEquals"research"
neNot equals"deleted"
inMatches any in list["tech", "science"]
not_inExcludes values in list["spam", "junk"]
gtGreater than2020
gteGreater than or equal2020
ltLess than2025
lteLess than or equal2025
betweenRange (inclusive)[2020, 2025]

Simple format

Key-value pairs where each key is a metadata field. Supports exact match, lists, ranges, and negation.

Structured DSL

Boolean combinators (and, or, not) with explicit field conditions. Supports arbitrary nesting.

Date filtering

ISO date strings (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS) are automatically detected and used for datetime range queries.

Request

Response