Skip to main content

Crate dynomite_search

Crate dynomite_search 

Source
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 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§

SearchExtension
CommandExtension implementation that routes FT.* commands and the HSET interception path through a shared VectorRegistry and SuggestionRegistry.

Functions§

install
Wire the FT.* command surface into builder via the CommandExtension hook. Returns an Arc handle to the shared VectorRegistry so the caller can hold a cloneable reference for admin paths / tests.
install_owned
Take a ServerBuilder by 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):