1pub mod compression;
14pub mod directories;
15pub mod dsl;
16pub mod error;
17pub mod index;
18pub mod merge;
19pub(crate) mod observe;
20pub mod query;
21pub mod segment;
22pub mod structures;
23pub mod tokenizer;
24
25pub use dsl::{
27 BinaryDenseVectorConfig, Document, Field, FieldDef, FieldEntry, FieldType, FieldValue,
28 IndexDef, IvfRoutingMode, QueryLanguageParser, Schema, SchemaBuilder, SdlParser, parse_sdl,
29 parse_single_index,
30};
31
32pub use structures::{
34 AsyncSSTableReader, BlockPostingList, HorizontalBP128Iterator, HorizontalBP128PostingList,
35 PostingList, PostingListIterator, SSTableValue, TERMINATED, TermInfo,
36};
37
38#[cfg(feature = "native")]
40pub use directories::FsDirectory;
41#[cfg(feature = "http")]
42pub use directories::HttpDirectory;
43#[cfg(feature = "native")]
44pub use directories::MmapDirectory;
45pub use directories::{
46 CachingDirectory, Directory, DirectoryWriter, FileHandle, OwnedBytes, RamDirectory,
47 SliceCacheStats, SliceCachingDirectory,
48};
49
50#[cfg(feature = "native")]
52pub type DefaultDirectory = MmapDirectory;
53
54pub use segment::{AsyncStoreReader, FieldStats, SegmentId, SegmentMeta, SegmentReader};
56#[cfg(any(feature = "native", feature = "wasm"))]
57pub use segment::{SegmentBuilder, SegmentBuilderConfig, SegmentBuilderStats};
58
59pub use query::{
61 BinaryDenseVectorQuery, Bm25Params, BooleanQuery, BoostQuery, MaxScoreExecutor, PrefixQuery,
62 Query, ScoredDoc, Scorer, SearchHit, SearchResponse, SearchResult, TermQuery, TopKCollector,
63};
64
65pub use tokenizer::{
67 BoxedTokenizer, Language, LanguageAwareTokenizer, MultiLanguageStemmer, RawCiTokenizer,
68 RawTokenizer, SimpleTokenizer, StemmerTokenizer, Token, Tokenizer, TokenizerRegistry,
69 parse_language,
70};
71
72pub use directories::SLICE_CACHE_EXTENSION;
74pub use error::{Error, Result};
75pub use index::Searcher;
76#[cfg(all(feature = "wasm", not(feature = "native")))]
77pub use index::WasmIndexWriter;
78#[cfg(feature = "native")]
79pub use index::{Index, IndexReader, IndexWriter};
80pub use index::{IndexConfig, IndexMetadata, SLICE_CACHE_FILENAME};
81#[cfg(feature = "native")]
82pub use index::{
83 IndexingStats, SchemaConfig, SchemaFieldConfig, create_index_at_path, create_index_from_sdl,
84 index_documents_from_reader, index_json_document, parse_schema,
85};
86
87#[cfg(feature = "native")]
89pub use merge::SegmentManager;
90pub use merge::{MergeCandidate, MergePolicy, NoMergePolicy, SegmentInfo, TieredMergePolicy};
91
92pub type DocId = u32;
93pub type TermFreq = u32;
94pub type Score = f32;
95
96#[cfg(feature = "native")]
99pub fn default_indexing_threads() -> usize {
100 (num_cpus::get() / 4).max(1)
101}
102
103#[cfg(feature = "native")]
105pub fn default_search_threads() -> usize {
106 (num_cpus::get() / 4).max(1)
107}
108
109#[cfg(feature = "native")]
112pub fn default_compression_threads() -> usize {
113 (num_cpus::get() / 4).max(1)
114}