Skip to main content

Module vector

Module vector 

Source
Expand description

Transport-independent vector payload types shared across crates.

§Type categories

This module contains two logically distinct groups of types:

§Core shared types (PointId, Payload, PayloadValue, PayloadSchemaType)

True foundational types used by the wire layer (linkrs-wire), the storage engine, and the query layer. These must remain in linkrs-core because linkrs-wire depends on linkrs-core but cannot depend on simvec (it would drag in heavy transitive deps like rayon/memmap2 into a lightweight wire crate).

§Vector filter DSL types (VectorFilter, FilterCondition, ConditionType, etc.)

Transport-semantics copies of the filter types. The index-semantics canonical definitions live in the simvec crate (simvec::filter_cond); this module keeps an identical transport-facing copy because linkrs-wire depends on linkrs-core and cannot depend on simvec (it would drag in heavy transitive deps like rayon/memmap2 into a lightweight wire crate). The two copies are converted mechanically at the sync-side backend enumeration boundary; keep them in sync when changing the filter surface.

Structs§

FilterCondition
A single filter condition: field plus its predicate.
GeoBoundingBox
Lat/lon bounding-box filter.
GeoPoint
Geographic point (lat, lon in degrees).
GeoRadius
Radius filter around a geographic center.
MinShouldCondition
should clause with an explicit minimum match count.
PayloadSelector
Returned-payload projection for search results.
RangeCondition
Numeric range bounds; absent bounds are open.
ValuesCountCondition
Range bound on the number of values an array field holds.
VectorFilter
Top-level payload filter with Qdrant-style clause groups.

Enums§

ConditionType
Predicate of a FilterCondition.
PayloadSchemaType
Declared schema of an indexed payload field.
PointId
Point identifier: numeric or UUID-shaped string.

Type Aliases§

Payload
Payload attached to a vector point: a JSON object keyed by field name.
PayloadValue
A scalar payload value (alias of serde_json::Value).