pub mod autotuning;
pub mod cache;
pub mod compression;
pub mod error;
pub mod fuzzy;
pub mod graph_viz;
pub mod import_export;
pub mod metrics;
pub mod mmap;
pub mod query_analyzer;
pub mod schema;
pub mod semantic_cache;
pub mod simd;
pub mod store;
pub mod stream;
pub mod vectors;
pub mod wal;
#[cfg(feature = "async")]
pub mod async_api;
#[cfg(feature = "async")]
pub mod async_ops;
#[cfg(feature = "async")]
pub mod async_stream;
#[cfg(feature = "python")]
pub mod python;
#[cfg(any(
feature = "embeddings",
feature = "cloud-embeddings",
feature = "openai-embeddings",
feature = "candle-embeddings",
feature = "ollama"
))]
pub mod embeddings;
#[cfg(feature = "wasm")]
pub mod wasm;
#[cfg(feature = "server")]
pub mod server;
pub mod access_control;
pub mod advanced_filter;
pub mod analytics;
pub mod anomaly;
pub mod audit;
pub mod benchmark;
pub mod bulk_migration;
pub mod clustering;
pub mod collection;
pub mod deduplication;
pub mod dim_reduction;
pub mod distributed;
pub mod geospatial;
pub mod gpu;
pub mod graph_rag;
pub mod health;
pub mod ivf_pq;
pub mod langchain;
pub mod lsh;
pub mod metadata_index;
pub mod migration;
pub mod monitoring;
pub mod multi_vector;
pub mod multimodal;
pub mod namespace;
pub mod namespace_manager;
pub mod partitioning;
pub mod profiler;
pub mod protocol;
pub mod quantization;
pub mod query_optimizer;
pub mod rag_utils;
pub mod rate_limit;
pub mod realtime;
pub mod recommender;
pub mod reranking;
pub mod scann;
pub mod splade;
pub mod telemetry;
pub mod text_splitter;
pub mod timeseries;
pub mod tokenizer;
pub mod validation;
pub mod versioning;
#[cfg(feature = "async")]
pub mod kafka_connector;
#[cfg(feature = "async")]
pub mod python_async;
pub use collection::{Collection, CollectionConfig, VecDatabase};
pub use error::{Result, VecStoreError};
pub use graph_viz::{GraphEdge, GraphNode, GraphStatistics, HnswVisualizer};
pub use namespace::{Namespace, NamespaceId, NamespaceQuotas, NamespaceStatus, ResourceUsage};
pub use namespace_manager::{AggregateStats, NamespaceManager, NamespaceStats};
pub use schema::{FieldSchema, FieldType, Schema, ValidationError};
pub use store::{
make_record, parse_filter, BatchError, BatchOperation, BatchResult, CompactionConfig,
CompactionResult, Config, Distance, ExplainedNeighbor, FilterExpr, FilterOp, FilterParseError,
HNSWSearchParams, HybridQuery, Metadata, Neighbor, PQConfig, PQVectorStore, PrefetchQuery,
ProductQuantizer, Query, QueryEstimate, QueryExplanation, QueryPlan, QueryStage, QueryStep,
Record, VecStore, VecStoreBuilder,
};
pub use text_splitter::{
RecursiveCharacterTextSplitter, TextChunk, TextSplitter, TokenTextSplitter,
};
pub use fuzzy::{
damerau_levenshtein_distance, levenshtein_distance, similarity_score, suggest_corrections,
BKTree, FuzzyMatcher,
};
pub use autotuning::{AutoTuner, HnswParams, PerformanceConstraints, TuningGoal};
pub use compression::{
decode_rle, decode_varint, encode_rle, encode_varint, CompressedNeighborList,
CompressionConfig, CompressionLevel, CompressionMethod, CompressionStats,
};
pub use realtime::{
BufferEntry, CompactionStats, RealtimeConfig, RealtimeIndex, RealtimeMetrics, Snapshot,
UpdateStrategy, WorkerConfig, WriteBuffer,
};
pub use gpu::{GpuBackend, GpuBenchmark, GpuConfig, GpuDeviceInfo, GpuExecutor, GpuOps};
pub use distributed::{
ConsistencyLevel, ConsistentHashRing, DistributedConfig, DistributedStats, DistributedStore,
NodeInfo, NodeStatus, ReplicationStrategy, ShardInfo, ShardingStrategy,
};
pub use quantization::{
BinaryQuantizer, QuantizationBenchmark, ScalarQuantizer4, ScalarQuantizer8,
};
pub use ivf_pq::{IVFPQConfig, IVFPQIndex, IVFPQStats};
pub use lsh::{LSHConfig, LSHIndex, LSHStats};
pub use scann::{ScaNNConfig, ScaNNIndex, ScaNNStats};
pub use timeseries::{
DecayFunction, TemporalGroup, TimeQuery, TimeSeriesEntry, TimeSeriesIndex, TimeSeriesResult,
TimeSeriesStats, WindowResult,
};
pub use multimodal::{
Modality, MultiModalEntry, MultiModalFusion, MultiModalIndex, MultiModalQuery,
MultiModalResult, MultiModalStats,
};
pub use migration::{MigrationRecord, MigrationStats, Migrator, SourceDatabase};
pub use graph_rag::{Entity, GraphQuery, GraphRAG, GraphResult, GraphStats, Relation};
pub use protocol::{Protocol, ProtocolAdapter, UniversalRequest, UniversalResponse, VectorData};
pub use langchain::{
Document, LangChainVectorStore, LlamaIndexVectorStore, Node, RetrieverConfig, ScoredDocument,
VectorStoreRetriever,
};
pub use benchmark::{
BenchmarkConfig, BenchmarkResults, Benchmarker, ConcurrentResults, FilterResults,
IndexingResults, InsertResults, LatencyStats, MemoryResults, QuantizationResults, QueryResults,
};
pub use health::{
print_health_report, Alert, AlertCategory, AlertSeverity, DatabaseHealth, HealthCheckConfig,
HealthChecker, HealthReport, HealthStatus, IndexHealth, PerformanceHealth, ResourceHealth,
};
pub use metadata_index::{
BTreeIndex, HashIndex, IndexConfig, IndexStats, IndexType, IndexedValue, InvertedIndex,
MetadataIndex, MetadataIndexManager,
};
pub use clustering::{
ClusteringConfig, ClusteringResult, DBSCANClustering, DBSCANConfig, HierarchicalClustering,
HierarchicalConfig, KMeansClustering, LinkageMethod,
};
pub use bulk_migration::{
BulkMigrationStats, ChromaDBMigration, FormatConverter, MigrationConfig, PineconeMigration,
QdrantMigration,
};
pub use partitioning::{PartitionConfig, PartitionInfo, PartitionStats, PartitionedStore};
pub use anomaly::{
AnomalyDetector, AnomalyEnsemble, AnomalyResult, IsolationForest, LocalOutlierFactor,
ZScoreDetector,
};
pub use dim_reduction::{ReductionStats, PCA};
pub use recommender::{
CollaborativeRecommender, ContentBasedRecommender, HybridRecommender, Recommendation,
UserPreference,
};
pub use versioning::{
Snapshot as VersionSnapshot, Version, VersionDiff, VersionHistory, VersionedStore,
VersioningStats,
};
pub use query_optimizer::{
CostBreakdown, ExecutionPlan, HintCategory, Impact, OptimizationHint, QueryAnalysis,
QueryComparison, QueryComplexity, QueryOptimizer, StoreOptimizationSummary,
};
pub use deduplication::{
BatchDeduplicator, DeduplicationConfig, DeduplicationStats, DeduplicationStrategy,
Deduplicator, DuplicateGroup,
};
pub use validation::{
BatchStatistics, QualityMetrics, ValidationConfig, ValidationError as VectorValidationError,
ValidationResult, ValidationStrictness, ValidationWarning, VectorValidator,
};
pub use analytics::{
AnalyticsConfig, AnalyticsReport, ClusterTendency, DimensionStats, DistributionStats,
OutlierAnalysis, SimilarityStats, VectorAnalytics,
};
pub use monitoring::{
Alert as MonitorAlert, AlertCategory as MonitorAlertCategory, AlertCondition, AlertPresets,
AlertRule, AlertSeverity as MonitorAlertSeverity, MetricHistory, MetricPoint, MetricType,
Monitor, MonitoringConfig, MonitoringReport, MonitoringStats,
};
pub use rate_limit::{
MultiTierRateLimiter, RateLimitAlgorithm, RateLimitConfig, RateLimitResult, RateLimitScope,
RateLimiter,
};
pub use audit::{
AuditBackend, AuditConfig, AuditEntry, AuditEventType, AuditLogger, AuditMetadata,
AuditOutcome, AuditSeverity, FileBackend, MemoryBackend, StdoutBackend,
};
pub use access_control::{
AccessContext, AccessControl, Condition, Effect, Operator, Permission, Policy, Resource, Role,
User,
};
pub use splade::{SparseIndex, SparseIndexStats, SparseVector, SpladeConfig, SpladeEncoder};
pub use multi_vector::{AggregationMethod, MultiVectorDoc, MultiVectorIndex, MultiVectorStats};
pub use geospatial::{
BoundingBox, GeoDocument, GeoIndex, GeoIndexStats, GeoPoint, GeoSearchResult,
};
pub use advanced_filter::{parse_advanced_filter, AdvancedFilter, FilterBuilder};
pub use profiler::{ProfileStage, ProfileSummary, ProfilerConfig, QueryProfile, QueryProfiler};
#[cfg(feature = "async")]
pub use kafka_connector::{
ConsumerStats, KafkaConfig, KafkaConsumer, KafkaProducer, Operation, PipelineStats,
ProducerStats, StreamingPipeline, VectorMessage,
};
#[cfg(feature = "async")]
pub use python_async::{AsyncPyVecStore, AsyncSearchResult};
pub use vectors::{
bm25_score, bm25_score_simple, hybrid_search_score, normalize_scores, normalize_scores_zscore,
BM25Config, BM25Stats, FusionStrategy, HybridQuery as HybridQueryV2, HybridSearchConfig,
KMeans, Vector, VectorOps,
};
pub use simd::{
cosine_similarity_simd, dot_product_simd, euclidean_distance_simd, hamming_distance_simd,
jaccard_distance_simd, jaccard_similarity_simd, magnitude_simd, manhattan_distance_simd,
};
#[cfg(feature = "async")]
pub use async_api::{AsyncCollection, AsyncVecDatabase, AsyncVecStore};
#[cfg(feature = "embeddings")]
pub use embeddings::{Embedder, EmbeddingCollection, EmbeddingStore, SimpleEmbedder, TextEmbedder};
#[cfg(feature = "cloud-embeddings")]
pub use embeddings::{
AzureEmbedding, AzureModel, CohereEmbedding, CohereModel, GoogleEmbedding, GoogleModel,
HuggingFaceEmbedding, JinaEmbedding, JinaModel, MistralEmbedding, MistralModel,
VoyageEmbedding, VoyageModel,
};
#[cfg(feature = "ollama")]
pub use embeddings::{OllamaEmbedding, OllamaModel};
#[cfg(feature = "candle-embeddings")]
pub use embeddings::{CandleEmbedder, CandleModel};
#[cfg(feature = "wasm")]
pub use wasm::{WasmSearchResult, WasmVecStore};
pub fn init_tracing() {
use tracing_subscriber::{fmt, EnvFilter};
let filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
fmt().with_env_filter(filter).with_target(false).init();
}