Skip to main content

Module structures

Module structures 

Source
Expand description

Core data structures for indexing

Organized into submodules:

  • postings - Posting list compression formats
  • vector - Vector indexing (RaBitQ, IVF-RaBitQ, ScaNN)
  • simd - SIMD utilities
  • sstable - SSTable for term dictionary

Re-exports§

pub use postings::BlockPostingIterator;
pub use postings::BlockPostingList;
pub use postings::BlockSparsePostingIterator;
pub use postings::BlockSparsePostingList;
pub use postings::COMMON_BLOCK_SIZE;
pub use postings::CompressedPostingIterator;
pub use postings::CompressedPostingList;
pub use postings::CompressionStats;
pub use postings::EliasFano;
pub use postings::EliasFanoIterator;
pub use postings::EliasFanoPostingIterator;
pub use postings::EliasFanoPostingList;
pub use postings::HORIZONTAL_BP128_BLOCK_SIZE;
pub use postings::HorizontalBP128Block;
pub use postings::HorizontalBP128Iterator;
pub use postings::HorizontalBP128PostingList;
pub use postings::INLINE_THRESHOLD;
pub use postings::IndexOptimization;
pub use postings::IndexSize;
pub use postings::MAX_ELEMENT_ORDINAL;
pub use postings::MAX_TOKEN_POSITION;
pub use postings::OPT_P4D_BLOCK_SIZE;
pub use postings::OptP4DBlock;
pub use postings::OptP4DIterator;
pub use postings::OptP4DPostingList;
pub use postings::PARTITIONED_EF_THRESHOLD;
pub use postings::PEF_BLOCK_SIZE;
pub use postings::PEFBlockInfo;
pub use postings::POSTING_BLOCK_SIZE;
pub use postings::PartitionedEFPostingIterator;
pub use postings::PartitionedEFPostingList;
pub use postings::PartitionedEliasFano;
pub use postings::PositionPostingIterator;
pub use postings::PositionPostingList;
pub use postings::Posting;
pub use postings::PostingFormat;
pub use postings::PostingList;
pub use postings::PostingListIterator;
pub use postings::PostingWithPositions;
pub use postings::QueryWeighting;
pub use postings::ROARING_BLOCK_SIZE;
pub use postings::ROARING_THRESHOLD_RATIO;
pub use postings::ROUNDED_BP128_BLOCK_SIZE;
pub use postings::RoaringBitmap;
pub use postings::RoaringBlockInfo;
pub use postings::RoaringIterator;
pub use postings::RoaringPostingIterator;
pub use postings::RoaringPostingList;
pub use postings::RoundedBP128Block;
pub use postings::RoundedBP128Iterator;
pub use postings::RoundedBP128PostingList;
pub use postings::RoundedBitWidth;
pub use postings::SMALL_BLOCK_SIZE;
pub use postings::SMALL_BLOCK_THRESHOLD;
pub use postings::SPARSE_BLOCK_SIZE;
pub use postings::SkipEntry;
pub use postings::SkipList;
pub use postings::SparseBlock;
pub use postings::SparseEntry;
pub use postings::SparsePosting;
pub use postings::SparsePostingIterator;
pub use postings::SparsePostingList;
pub use postings::SparseQueryConfig;
pub use postings::SparseSkipEntry;
pub use postings::SparseSkipList;
pub use postings::SparseVector;
pub use postings::SparseVectorConfig;
pub use postings::TERMINATED;
pub use postings::VERTICAL_BP128_BLOCK_SIZE;
pub use postings::VerticalBP128Block;
pub use postings::VerticalBP128Iterator;
pub use postings::VerticalBP128PostingList;
pub use postings::WeightQuantization;
pub use postings::binary_search_block;
pub use postings::decode_element_ordinal;
pub use postings::decode_token_position;
pub use postings::encode_position;
pub use postings::pack_block;
pub use postings::pack_deltas_fixed;
pub use postings::pack_vertical;
pub use postings::read_doc_id_block;
pub use postings::read_vint;
pub use postings::unpack_block;
pub use postings::unpack_block_n;
pub use postings::unpack_deltas_fixed;
pub use postings::unpack_vertical;
pub use postings::write_doc_id_block;
pub use postings::write_vint;
pub use vector::ClusterData;
pub use vector::ClusterStorage;
pub use vector::CoarseCentroids;
pub use vector::CoarseConfig;
pub use vector::DistanceTable;
pub use vector::IVFPQConfig;
pub use vector::IVFPQIndex;
pub use vector::IVFRaBitQConfig;
pub use vector::IVFRaBitQIndex;
pub use vector::MultiAssignment;
pub use vector::PQCodebook;
pub use vector::PQConfig;
pub use vector::PQVector;
pub use vector::QuantizedCode;
pub use vector::QuantizedQuery;
pub use vector::QuantizedVector;
pub use vector::Quantizer;
pub use vector::RaBitQCodebook;
pub use vector::RaBitQConfig;
pub use vector::RaBitQIndex;
pub use vector::SoarConfig;
pub use simd::bits_needed;

Modules§

postings
Posting list data structures and compression formats
simd
Shared SIMD-accelerated functions for posting list compression
vector
Vector indexing data structures

Structs§

AsyncSSTableIterator
Async iterator over SSTable entries
AsyncSSTableReader
Async SSTable reader - loads blocks on demand via LazyFileSlice
BlockAddr
Block address - offset and length in the data section
BlockAddrStore
Compact storage for block addresses using delta + bitpacking
BloomFilter
Simple bloom filter for key existence checks
FstBlockIndex
FST-based block index (Option 1)
MmapBlockIndex
Mmap’d raw block index (Option 2)
SSTableStats
SSTable statistics for debugging
SSTableWriter
SSTable writer with optimizations:
SSTableWriterConfig
SSTable writer configuration
SparseDimInfo
Sparse dimension info for SSTable-based sparse index Stores offset and length for posting list lookup

Enums§

BlockIndex
Unified block index that can use either FST or mmap’d raw index
TermInfo
Term info for posting list references

Constants§

SSTABLE_BLOCK_SIZE
Block size for SSTable (16KB default)
SSTABLE_MAGIC
SSTable magic number - version 4 with memory-efficient index Uses FST-based or mmap’d block index to avoid heap allocation

Traits§

SSTableValue
SSTable value trait