Crate hermes_core

Crate hermes_core 

Source
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::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::SegmentBuilder;
pub use segment::SegmentId;
pub use segment::SegmentMeta;
pub use segment::SegmentReader;
pub use query::BlockWand;
pub use query::Bm25Params;
pub use query::BooleanQuery;
pub use query::BoostQuery;
pub use query::MaxScoreWand;
pub use query::Query;
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::WandResult;
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 wand::TermWandInfo;
pub use wand::WandData;

Modules§

compression
Compression using Zstd with dictionary support
directories
dsl
error
Error types for minisearch
index
Index - multi-segment async search index
query
Query types and search execution
schema
segment
structures
tokenizer
Tokenizer API for text processing
wand
WAND (Weak AND) data structures for efficient top-k retrieval

Type Aliases§

DocId
Score
TermFreq