Rowles.LeanCorpus.Search.Searcher
Classes
IndexSearcher
Holds a snapshot of segment readers and executes queries across all segments.
IndexSearcherConfig
Configuration for the IndexSearcher.
MultiReader
Searches an immutable composition of multiple directory snapshots without merging their files.
QueryCache
Thread-safe query result cache. Entries are keyed by (Query, topN) and invalidated when the commit generation changes. Uses ConcurrentDictionary<TKey, TValue> with generation-swap eviction: readers are lock-free on the common path, and when the soft entry cap is exceeded the entire dictionary is swapped for a fresh one via CompareExchange(ref object, object, object).
ReaderManagerDiagnostics
Reports the state of a generic reader manager.
ReaderManager<TReader>
Owns an immutable, reference-counted reader and swaps in replacements produced by a caller-supplied refresh function.
ReaderRefreshFailedEventArgs
Reports a failed generic reader refresh.
RefreshFailedEventArgs
Carries the exception and consecutive-failure count for a failed SearcherManager refresh.
SearchSession
An opaque handle to one retained, read-only searcher snapshot.
SearchSessionDiagnostics
Current bounded-session resource and lifecycle diagnostics.
SearchSessionException
A typed search-session or cursor failure.
SearchSessionManager
Owns bounded point-in-time search sessions over SearcherManager leases.
SearchSessionOptions
Controls the bounded lifetime and resource use of search sessions.
SearchSessionPage
One page from a retained search snapshot.
SearcherManager
Manages the lifecycle of IndexSearcher instances through the generic reader manager.
SearcherManagerConfig
Configuration for SearcherManager.
Structs
ReaderLease<TReader>
Provides the reader captured by a ReaderLease<TReader>.
SearchAfterValue
Represents one typed sort value at a search-after boundary.
SearcherLease
A scoped reference to a IndexSearcher obtained from a SearcherManager. Disposing the lease releases the underlying reference. Prefer this over the legacy Acquire()
- Release(IndexSearcher) pair: the lease bypasses the
ConditionalWeakTablelookup performed byRelease.
- Release(IndexSearcher) pair: the lease bypasses the