Module structures

Module structures 

Source

Re-exports§

pub use simd::bits_needed;

Modules§

simd
Shared SIMD-accelerated functions for posting list compression

Structs§

AsyncSSTableReader
Async SSTable reader - loads blocks on demand via LazyFileSlice
BlockPostingIterator
Iterator over block posting list with skip support Can be either borrowed or owned via Cow
BlockPostingList
BlockSparsePostingIterator
Iterator over block sparse posting list
BlockSparsePostingList
Block-based sparse posting list for skip-list style access
BloomFilter
Simple bloom filter for key existence checks
CompressionStats
Statistics about compression format usage
EliasFano
Elias-Fano encoded monotone sequence
EliasFanoIterator
Iterator over Elias-Fano encoded sequence
EliasFanoPostingIterator
Iterator over Elias-Fano posting list with BlockMax support
EliasFanoPostingList
Elias-Fano encoded posting list with term frequencies and BlockMax support
HorizontalBP128Block
Bitpacked block with skip info for BlockWAND
HorizontalBP128Iterator
Iterator over bitpacked posting list with block skipping support
HorizontalBP128PostingList
Bitpacked posting list with block-level skip info
OptP4DBlock
A single OptP4D block
OptP4DIterator
Iterator over OptP4D posting list
OptP4DPostingList
OptP4D posting list
PEFBlockInfo
Block metadata for BlockMax WAND
PartitionedEFPostingIterator
Iterator over Partitioned EF posting list
PartitionedEFPostingList
Partitioned Elias-Fano posting list with term frequencies and BlockMax
PartitionedEliasFano
Partitioned Elias-Fano encoded sequence
Posting
A posting entry containing doc_id and term frequency
PostingList
Compact posting list with delta encoding
PostingListIterator
Iterator over posting list that supports seeking
RoaringBitmap
Roaring Bitmap for compressed integer sets
RoaringBlockInfo
Block metadata for BlockMax WAND optimization in Roaring
RoaringIterator
Iterator over Roaring Bitmap
RoaringPostingIterator
Iterator over Roaring posting list with BlockMax support
RoaringPostingList
Roaring bitmap with term frequencies for posting lists
RoundedBP128Block
Rounded bitpacked block with skip info for BlockWAND
RoundedBP128Iterator
Iterator over rounded BP128 posting list with block skipping support
RoundedBP128PostingList
Rounded BP128 posting list with block-level skip info
SSTableStats
SSTable statistics for debugging
SSTableWriter
SSTable writer with optimizations:
SSTableWriterConfig
SSTable writer configuration
SkipEntry
Skip list entry for block-based posting lists
SkipList
Skip list for block-based posting lists
SparseEntry
A sparse vector entry: (dimension_id, weight)
SparsePosting
A sparse posting entry: doc_id with quantized weight
SparsePostingIterator
Iterator over sparse posting list
SparsePostingList
Sparse posting list for a single dimension
SparseSkipEntry
Skip entry for sparse posting lists with block-max support
SparseSkipList
Skip list for sparse posting lists with block-max support
SparseVector
Sparse vector representation
SparseVectorConfig
Configuration for sparse vector storage
VerticalBP128Block
A single SIMD-BP128 block with metadata
VerticalBP128Iterator
Iterator over SIMD-BP128 posting list
VerticalBP128PostingList
SIMD-BP128 posting list with vertical layout and BlockMax support

Enums§

CompressedPostingIterator
Unified iterator over any posting list format
CompressedPostingList
Unified posting list that can use any compression format
IndexOptimization
Index optimization mode for balancing compression ratio vs speed
IndexSize
Size of the index (term/dimension ID) in sparse vectors
PostingFormat
Posting list format selector
RoundedBitWidth
Rounded bit width for SIMD-friendly encoding
TermInfo
Term info for posting list references
WeightQuantization
Quantization format for sparse vector weights

Constants§

COMMON_BLOCK_SIZE
Standard block size for posting lists (SIMD-friendly)
HORIZONTAL_BP128_BLOCK_SIZE
Block size for bitpacking (128 integers per block for SIMD alignment)
INLINE_THRESHOLD
Thresholds for format selection (based on benchmarks)
OPT_P4D_BLOCK_SIZE
Block size for OptP4D (128 integers for SIMD alignment)
PARTITIONED_EF_THRESHOLD
Threshold for using Partitioned EF (best compression)
PEF_BLOCK_SIZE
Block size for BlockMax (matches other formats)
POSTING_BLOCK_SIZE
Block-based posting list for skip-list style access Each block contains up to BLOCK_SIZE postings
ROARING_BLOCK_SIZE
Block size for Roaring BlockMax (matches container size = 65536 doc_ids)
ROARING_THRESHOLD_RATIO
ROUNDED_BP128_BLOCK_SIZE
Block size for rounded bitpacking (128 integers per block for SIMD alignment)
SMALL_BLOCK_SIZE
Small block size for short posting lists (better cache locality)
SMALL_BLOCK_THRESHOLD
Threshold for using small blocks (posting lists shorter than this use small blocks)
SPARSE_BLOCK_SIZE
Block size for sparse posting lists (matches OptP4D for SIMD alignment)
SSTABLE_BLOCK_SIZE
Block size for SSTable (16KB default)
SSTABLE_MAGIC
SSTable magic number - version 3 with optimizations
TERMINATED
Sentinel value indicating iterator is exhausted
VERTICAL_BP128_BLOCK_SIZE
Block size: 128 integers (32 groups of 4 for SIMD lanes)

Traits§

SSTableValue
SSTable value trait

Functions§

binary_search_block
Binary search within a decoded block to find first element >= target Returns the index within the block, or block.len() if not found
pack_block
Pack a block of 128 u32 values using the specified bit width
pack_deltas_fixed
Pack delta-encoded doc IDs with fixed-width encoding
pack_vertical
Pack 128 integers using true vertical bit-interleaved layout
read_doc_id_block
Read a block of delta-encoded doc_ids
read_vint
Read variable-length integer
unpack_block
Unpack a block of 128 u32 values Uses SIMD-optimized unpacking for common bit widths on supported architectures
unpack_block_n
Unpack a smaller block (for variable block sizes) Optimized: reads 64 bits at a time using unaligned pointer read
unpack_deltas_fixed
Unpack delta-encoded doc IDs with SIMD acceleration
unpack_vertical
Unpack 128 integers from true vertical bit-interleaved layout
write_doc_id_block
Write a block of delta-encoded doc_ids
write_vint
Write variable-length integer (1-9 bytes)