Expand description
RediSearch FT.* command surface for the Dynomite cluster engine.
dynomite-search is the layered search surface that sits
on top of dynomite-engine. It owns:
- the per-server vector index registry,
- the schema types that compile FT.CREATE payloads into engine-level shapes,
- the FT.* dispatch layer plus the filter-expression grammar,
- the cluster-coordinated k-NN broadcast FSM,
- the on-the-wire codec the engine’s DNODE plane uses to fan a query out to every primary peer.
The crate is designed to be wired into a Dynomite
ServerBuilder via the
CommandExtension
hook. The install helper does this in one call;
SearchExtension is the underlying impl for embedders
who want finer control.
§Quickstart
use dynomite::embed::ServerBuilder;
use dynomite::conf::DataStore;
let mut builder = ServerBuilder::new("dyn_o_mite")
.listen("127.0.0.1:0".parse().unwrap())
.dyn_listen("127.0.0.1:0".parse().unwrap())
.data_store(DataStore::Redis)
.servers(vec![dynomite::conf::ConfServer::parse("127.0.0.1:6379:1").unwrap()])
.tokens_str("0");
let registry = dynomite_search::install(&mut builder);
let handle = builder.build().unwrap().start().await.unwrap();
let _ = registry; // hand off to admin tools, tests, ...
handle.shutdown().await.unwrap();Re-exports§
pub use crate::registry::RegistryError;pub use crate::registry::TextFieldIndex;pub use crate::registry::TextHit;pub use crate::registry::TextRegexApproxResult;pub use crate::registry::TextRegexResult;pub use crate::registry::VectorRegistry;pub use crate::registry::VectorTable;pub use crate::registry::VectorTableInfo;pub use crate::schema::DistanceMetric;pub use crate::schema::IndexAlgorithm;pub use crate::schema::MetadataField;pub use crate::schema::MetadataFieldType;pub use crate::schema::VectorSchema;pub use crate::schema::VectorType;pub use crate::sugest::SuggestionDict;pub use crate::sugest::SuggestionEntry;pub use crate::sugest::SuggestionHit;pub use crate::sugest_registry::SuggestionRegistry;
Modules§
- ft
- RediSearch FT.* command surface.
- ft_
filter - RediSearch FT.SEARCH filter expression parser and evaluator.
- query_
fsm - Distributed k-NN coordinator.
- registry
- Vector index registry.
- schema
- Schema types for the vector subsystem.
- sugest
- Per-key autocomplete suggestion dictionary.
- sugest_
registry - Per-server registry of suggestion dictionaries.
- wire
- On-the-wire codec for cluster-coordinated FT.SEARCH.
Structs§
- Search
Extension CommandExtensionimplementation that routes FT.* commands and the HSET interception path through a sharedVectorRegistryandSuggestionRegistry.
Functions§
- install
- Wire the FT.* command surface into
buildervia theCommandExtensionhook. Returns anArchandle to the sharedVectorRegistryso the caller can hold a cloneable reference for admin paths / tests. - install_
owned - Take a
ServerBuilderby value, install the FT.* extension, and return the wired builder plus the shared registry. Useful when the caller prefers to own the builder by value (the chained-call form):