Section navigation

Public namespace Rowles.LeanCorpus.Index.Indexer

Classes

Public class FieldMapping

Describes the expected type and behaviour of a single field in an IndexSchema.

Public class IndexSchema

Defines per-field type expectations and validation rules for an index. When set on Schema, documents are validated at AddDocument(LeanDocument) time.

Public class IndexSort

Defines the sort order applied to documents within a segment at flush time. When configured, documents are physically reordered before writing.

Public class IndexWriter

Accepts documents, analyses text fields, buffers in memory, and flushes immutable segments to disk. Coordinates commit, backpressure, merge, snapshot, deletion, and DWPT subsystems via dedicated manager classes.

Public class IndexWriterConfig

Configuration for the IndexWriter.

Public class KeepLastNCommitsPolicy

Keeps the last N commit generations, deleting older ones.

Public class KeepLatestCommitPolicy

Keeps only the latest commit, deleting all older segments_N and stats_N files.

Public class LogByteSizeMergePolicy

Merge policy that groups segments by log2 byte-size buckets. When a bucket reaches the threshold, the smallest segments in that bucket are returned as merge candidates. This avoids the tiered policy's worst case where many tiny segments merge into one giant while more tiny ones accumulate.

Public class NoMergePolicy

Merge policy that never triggers automatic merges. Use for bulk-load-then-merge-once workflows where all merging is performed manually via Compact() or ForceMerge(int).

Public class SchemaValidationException

Thrown when a document fails IndexSchema validation.

Public class TieredMergePolicy

Selects balanced merges using physical bytes and reclaimable deletions.

Interfaces

Public interface IIndexDeletionPolicy

Controls which old commit files and their referenced segments are pruned after a new commit.

Public interface IMergePolicy

Controls which segments are selected for merging during indexing.