reddb_server/storage/engine/
mod.rs1pub mod algorithms;
29pub mod btree;
30pub mod bulk_writer;
31pub mod clustering;
32pub mod crc32;
33pub mod database;
34pub mod distance;
35pub mod freelist;
36pub mod graph_algorithms;
37pub mod graph_store;
38pub mod graph_table_index;
39pub mod hnsw;
40pub mod hot_update;
41pub mod hybrid;
42pub mod ivf;
43pub mod overflow;
44pub mod page;
45pub mod page_cache;
46pub mod pager;
47pub mod pathfinding;
48pub mod pq;
49pub mod projection;
50pub mod simd_distance;
51pub mod store_strategy;
52
53pub mod binary_quantize;
55pub mod int8_quantize;
56pub mod tiered_search;
57pub mod turboquant;
58pub mod unified_index;
59pub mod vector_btree;
60pub mod vector_metadata;
61pub mod vector_store;
62
63#[path = "encrypted-pager.rs"]
64pub mod encrypted_pager;
65
66pub use btree::{BTree, BTreeCursor, BTreeError};
67pub use crc32::crc32;
68pub use database::{Database, DatabaseConfig, DatabaseError};
69#[allow(deprecated)]
70pub use encrypted_pager::{EncryptedPager, EncryptedPagerConfig, EncryptedPagerError};
71pub use freelist::FreeList;
72pub use graph_store::{GraphStore, LabelId, LabelRegistry, StoredEdge, StoredNode, TableRef};
73pub use graph_table_index::{GraphTableIndex, GraphTableIndexStats, RowKey};
74pub use page::{Page, PageHeader, PageType, HEADER_SIZE, PAGE_SIZE};
75pub use page_cache::PageCache;
76pub use pager::{Pager, PagerConfig, PhysicalFileHeader};
77
78pub use algorithms::{
80 BetweennessCentrality,
81 BetweennessResult,
82 ClosenessCentrality,
83 ClosenessResult,
84 ClusteringCoefficient,
85 ClusteringResult,
86 CommunitiesResult,
87 Community,
88 Component,
89 ComponentsResult,
90 ConnectedComponents,
91 Cycle,
92 CycleDetector,
93 CyclesResult,
94 DegreeCentrality,
96 DegreeCentralityResult,
97 EigenvectorCentrality,
98 EigenvectorResult,
99 HITSResult,
100 LabelPropagation,
101 Louvain,
102 LouvainResult,
103 PageRank,
105 PageRankResult,
106 PersonalizedPageRank,
107 SCCResult,
108 StronglyConnectedComponents,
110 TriangleCounting,
111 TriangleResult,
112 WCCResult,
113 WeaklyConnectedComponents,
114 HITS,
115};
116
117pub use pathfinding::{
119 AStar, AllPathsResult, AllShortestPaths, BellmanFord, BellmanFordResult, Dijkstra,
120 KShortestPaths, Path, ShortestPathResult, BFS, DFS,
121};
122
123pub use distance::{
125 cosine_distance, distance, dot_product, inner_product_distance, l2, l2_norm, l2_squared,
126 normalize, normalized, Distance, DistanceMetric, DistanceResult,
127};
128pub use hnsw::{Bitset, HnswConfig, HnswIndex, HnswStats, NodeId};
129pub use vector_metadata::{MetadataEntry, MetadataFilter, MetadataStore, MetadataValue};
130pub use vector_store::{
131 SearchResult, SegmentConfig, SegmentId, SegmentState, VectorCollection, VectorId,
132 VectorSegment, VectorStore, VectorStoreError,
133};
134
135pub use unified_index::{
137 CrossRef, RowKey as TableRowKey, StorageRef, UnifiedIndex, UnifiedIndexStats, VectorKey,
138};
139
140pub use projection::{
142 AggregationStrategy, EdgeFilter, GraphProjection, NodeFilter, ProjectedNode, ProjectionBuilder,
143 ProjectionStats, PropertyProjection,
144};
145
146pub use hybrid::{
148 dbsf_fusion, linear_fusion, reciprocal_rank_fusion, BM25Config, ExactMatchReranker,
149 FusionMethod, HybridQueryBuilder, HybridResult, HybridSearch, Reranker, RerankerPipeline,
150 SparseIndex, SparseResult,
151};
152
153pub use ivf::{IvfConfig, IvfIndex, IvfStats};
155
156pub use pq::{PQCode, PQConfig, PQIndex, ProductQuantizer};
158
159pub use binary_quantize::{hamming_distance_simd, BinaryIndex, BinarySearchResult, BinaryVector};
161
162pub use int8_quantize::{dot_product_i8_f32_simd, dot_product_i8_simd, Int8Index, Int8Vector};
164
165pub use tiered_search::{
167 MemoryConstraint, MemoryLimitError, TieredIndex, TieredIndexBuilder, TieredMemoryStats,
168 TieredSearchConfig, TieredSearchResult,
169};