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