Skip to main content

nodedb_query/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2
3//! Shared query-execution utilities used by every engine: BM25 scoring,
4//! text analysis (tokenization / normalization / stop words), expression
5//! evaluation helpers, MessagePack scan readers, and rank-fusion (RRF).
6//!
7//! This crate is consumed by `nodedb` (server), `nodedb-lite` (embedded),
8//! and `nodedb-fts` (full-text overlay). Functions are pure / `Send + Sync`
9//! and free of I/O — actual data fetch happens in the calling crate.
10
11pub mod agg_key;
12pub mod cast;
13pub mod chunk_text;
14pub mod expr;
15pub mod expr_parse;
16pub mod functions;
17pub mod fusion;
18pub mod geo_functions;
19pub mod json_ops;
20pub mod metadata_filter;
21pub mod msgpack_scan;
22pub mod scan_filter;
23pub mod simd_agg;
24pub mod simd_agg_i64;
25pub mod simd_filter;
26pub mod text_search;
27pub mod ts_functions;
28pub mod value_ops;
29pub mod window;
30
31pub use chunk_text::{ChunkError, ChunkStrategy, TextChunk, chunk_text};
32pub use expr::{BinaryOp, CastType, ComputedColumn, SqlExpr};
33pub use fusion::{
34    DEFAULT_RRF_K, FusedResult, RankedResult, reciprocal_rank_fusion,
35    reciprocal_rank_fusion_weighted,
36};
37pub use scan_filter::ScanFilter;
38pub use window::{FrameBound, WindowFrame, WindowFuncSpec, evaluate_window_functions};