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