pub enum QueryStep {
Search {
query: String,
limit: usize,
},
VectorSearch {
query: String,
limit: usize,
},
SemanticSearch {
text: String,
limit: usize,
},
RawVectorSearch {
vec: Vec<f32>,
limit: usize,
},
TextSearch {
query: TextQuery,
limit: usize,
},
Traverse {
direction: TraverseDirection,
label: String,
max_depth: usize,
filter: Option<Predicate>,
},
Filter(Predicate),
}Expand description
A single step in the query pipeline.
Eq is intentionally NOT derived — see QueryAst for the rationale.
Variants§
Search
Unified adaptive retrieval entry step consumed by the Phase 12 retrieval planner.
Carries the caller’s raw query string (not a parsed TextQuery):
the planner decides how to interpret and route it across the text
strict, text relaxed, and (future) vector branches. See
crate::compile_retrieval_plan for the planner entry point.
Fields
VectorSearch
Nearest-neighbor search over vector embeddings.
Fields
SemanticSearch
Pack F1 semantic-search step: a natural-language query that the
engine embeds at query time using the db-wide active profile
embedder, then runs KNN against the per-kind vec_<kind> table.
Unlike QueryStep::VectorSearch, the text is NEVER a JSON
float-array literal — the caller supplies natural language and
the engine handles embedding internally.
Fields
RawVectorSearch
Pack F1 raw-vector-search step: a caller-supplied dense vector
that the engine binds directly to the per-kind vec_<kind> KNN
scan with no embedder call. The vector’s dimension must match the
active embedding profile’s dimension or the coordinator returns
super::CompileError-free with a hard DimensionMismatch
error at plan-time.
Fields
TextSearch
Full-text search over indexed chunk content using FathomDB’s supported
safe text-query subset.
Fields
Traverse
Graph traversal following edges of the given label.
Fields
direction: TraverseDirectionDirection to traverse.
Filter(Predicate)
Row-level filter predicate.