Expand description
Hermes - A minimal async search engine library
Inspired by tantivy/summavy, this library provides:
- Fully async IO with Directory abstraction for network/local/memory storage
- SSTable-based term dictionary with hot cache and lazy loading
- Bitpacked posting lists with block-level skip info
- Document store with Zstd compression
- Multiple segments with merge support
- Text and numeric field support
- Term, boolean, and boost queries
- BlockWAND / MaxScore query optimizations
Re-exports§
pub use dsl::Document;pub use dsl::Field;pub use dsl::FieldDef;pub use dsl::FieldEntry;pub use dsl::FieldType;pub use dsl::FieldValue;pub use dsl::IndexDef;pub use dsl::QueryLanguageParser;pub use dsl::Schema;pub use dsl::SchemaBuilder;pub use dsl::SdlParser;pub use dsl::parse_sdl;pub use dsl::parse_single_index;pub use structures::AsyncSSTableReader;pub use structures::BlockPostingList;pub use structures::HorizontalBP128Iterator;pub use structures::HorizontalBP128PostingList;pub use structures::PostingList;pub use structures::PostingListIterator;pub use structures::SSTableValue;pub use structures::TERMINATED;pub use structures::TermInfo;pub use directories::FsDirectory;pub use directories::MmapDirectory;pub use directories::AsyncFileRead;pub use directories::CachingDirectory;pub use directories::Directory;pub use directories::DirectoryWriter;pub use directories::FileSlice;pub use directories::LazyFileHandle;pub use directories::LazyFileSlice;pub use directories::OwnedBytes;pub use directories::RamDirectory;pub use directories::SliceCacheStats;pub use directories::SliceCachingDirectory;pub use segment::AsyncSegmentReader;pub use segment::AsyncStoreReader;pub use segment::FieldStats;pub use segment::SegmentId;pub use segment::SegmentMeta;pub use segment::SegmentReader;pub use segment::SegmentBuilder;pub use segment::SegmentBuilderConfig;pub use segment::SegmentBuilderStats;pub use query::Bm25Params;pub use query::BooleanQuery;pub use query::BoostQuery;pub use query::Query;pub use query::ScoredDoc;pub use query::Scorer;pub use query::SearchHit;pub use query::SearchResponse;pub use query::SearchResult;pub use query::TermQuery;pub use query::TopKCollector;pub use query::WandExecutor;pub use query::WandOrQuery;pub use query::search_segment;pub use tokenizer::BoxedTokenizer;pub use tokenizer::Language;pub use tokenizer::LanguageAwareTokenizer;pub use tokenizer::LowercaseTokenizer;pub use tokenizer::MultiLanguageStemmer;pub use tokenizer::SimpleTokenizer;pub use tokenizer::StemmerTokenizer;pub use tokenizer::Token;pub use tokenizer::Tokenizer;pub use tokenizer::TokenizerRegistry;pub use tokenizer::parse_language;pub use directories::SLICE_CACHE_EXTENSION;pub use error::Error;pub use error::Result;pub use index::Index;pub use index::IndexConfig;pub use index::SLICE_CACHE_FILENAME;pub use index::IndexWriter;pub use index::warmup_and_save_slice_cache;pub use index::IndexingStats;pub use index::SchemaConfig;pub use index::SchemaFieldConfig;pub use index::create_index_at_path;pub use index::create_index_from_sdl;pub use index::index_documents_from_reader;pub use index::index_json_document;pub use index::parse_schema;pub use merge::SegmentManager;pub use merge::MergeCandidate;pub use merge::MergePolicy;pub use merge::NoMergePolicy;pub use merge::SegmentInfo;pub use merge::TieredMergePolicy;
Modules§
- compression
- Compression using Zstd with dictionary support
- directories
- dsl
- error
- Error types for minisearch
- index
- Index - multi-segment async search index
- merge
- Merge policies for background segment merging
- query
- Query types and search execution
- schema
- segment
- structures
- Core data structures for indexing
- tokenizer
- Tokenizer API for text processing
Type Aliases§
- Default
Directory - Default directory type for native builds - uses memory-mapped files for efficient access
- DocId
- Score
- Term
Freq