Added
SearchOptionsexecution controls for per-query timeouts, scoring-budget limits, and streaming result collection, withTopDocs.IsPartialandScoreDoc.EstimatedBytesexposing partial-result and resource-use information.- Field validation for document field names and vector inputs, plus coverage for invalid field, vector, and geo-point values.
- BKD-backed numeric range search with sparse numeric-index sourcing and brute-force fallback.
- Streaming merge infrastructure for postings, stored fields, term vectors, and doc-value flushing to reduce merge-time memory pressure.
- Concurrent writer support for vectors, geo points, and sorted doc values.
- Codec validation for RoaringBitmap and segment files, including headers, CRC32 footers, and orphan sidecar cleanup.
- Fault-injection, merge-equivalence, writer-equivalence, concurrent-field, and force-merge memory tests, plus a BKD numeric range benchmark.
Changed
- Field-sorted search now uses heap selection for top-N results rather than sorting the full candidate set.
- Segment merges now run IO outside the writer lock so indexing can continue during merge work.
- Query parsing now reports offsets more accurately and supports lenient parsing behaviour.
DisjunctionMaxQueryinstances are frozen for safer execution, and segment metadata snapshots clone all tracked fields.- Numeric doc-value range computation now compares mixed-sign bit patterns in unsigned space.
Fixed
PrefixQueryandWildcardQuerynow return each matching document once when multiple matched terms occur in the same document.- Durable commits now fail closed when fsync fails instead of reporting success.
- Recovery validates required segment files and codec headers, fails closed when no commit file is valid, and tolerates missing
.delfiles for graceful degradation. - Streaming postings merge now seeks the position section correctly during force merges.
- Concurrent indexing now preserves vector, geo-point, and sorted doc-value data.
MMapDirectorynow implements disposal correctly, and pending delete handling no longer drops deletion state.- README collapse and per-query resource-control examples were corrected.