Section navigation

Advanced and operational features

Return to the feature comparison overview for status definitions and comparison scope.

Feature LeanCorpus Lucene.NET 4.8 Java Lucene Notes
Float-vector fields and k-nearest-neighbour queries ✔ ❌ ✔ HNSW-backed approximate search.
Filtered approximate kNN ✔ ❌ ✔ Pre-filter and post-filter modes.
HNSW build configuration ✔ ❌ ◐ Per-index graph parameters and deterministic seed support.
Vector normalisation ✔ ❌ ◐ Optional index-time L2 normalisation.
Int8 and binary vector quantisation ✔ ❌ ✔ Scalar and binary quantisation across indexing and search.
Four-bit and product quantisation ❌ ❌ ✔ Not currently available.
SIMD vector operations ✔ ❌ ◐ Runtime-vectorised .NET implementation using Vector<T>.
Reciprocal-rank fusion ✔ ❌ ◐ Native query form for lexical and vector result fusion.
Byte-vector fields and queries ❌ ❌ ✔ Float vectors are supported instead.
Similarity-threshold vector query ❌ ❌ ✔ No dedicated threshold query.

Facets, aggregations, and suggestions

Feature LeanCorpus Lucene.NET 4.8 Java Lucene Notes
Term facets ✔ ✔ ✔ Sorted or sorted-set DocValues with bounded exact bucket collection.
Numeric min, max, sum, average, and count ✔ ◐ ◐ First-class numeric aggregation requests.
Fixed-bucket histograms ✔ ❌ ❌ LeanCorpus-specific aggregation.
Range facets ✔ ✔ ✔ Explicit numeric and UTC date ranges with inclusive/exclusive bounds.
Taxonomy and hierarchical facets ◐ ✔ ✔ Explicit FacetPath prefixes use existing StringField postings and sorted-set DocValues; no taxonomy index.
Drill-down and drill-sideways ✔ ✔ ✔ AND across dimensions, OR within a dimension, with one base traversal for sideways counts.
Approximate cardinality aggregation ✔ ❌ ❌ Bounded HLL-style sparse/dense numeric cardinality aggregation.
Percentile aggregation ✔ ❌ ❌ t-digest doubles and HDR-style logarithmic non-negative Int64 percentile aggregations.
Spell checking ✔ ✔ ✔ DidYouMeanSuggester backed by a spell index.
Prefix suggestions ✔ ✔ ✔ FST completion ranked by global document frequency.
Analysing suggestions ✔ ✔ ✔ Applies the selected analyser to completion input.
Free-text suggestions ✔ ✔ ✔ Uses analysed phrase context to suggest the next term.
Context-filtered suggestions ◐ ✔ ✔ LeanCorpus filters analysing suggestions with a query rather than exposing Lucene's context-suggester API.
Fuzzy suggestions ◐ ✔ ✔ LeanCorpus provides edit-distance spelling suggestions rather than Lucene's weighted fuzzy completion API.
Feature LeanCorpus Lucene.NET 4.8 Java Lucene Notes
Geo point indexing ◐ ◐ ✔ GeoPointField uses a BKD-backed representation with a different API.
Bounding-box queries ✔ ✔ ✔ Latitude and longitude box matching.
Distance queries ✔ ✔ ✔ Radius matching around a point.
Geo encoding utilities ✔ ✔ ✔ Coordinate encoding helpers.
Polygon, line, and geo-shape queries ❌ ◐ ✔ Lucene.NET offers older Spatial4n strategies.
Cartesian point and shape search ❌ ❌ ✔ No XY point or shape API.

Search controls and extensions

Feature LeanCorpus Lucene.NET 4.8 Java Lucene Notes
Per-query timeout ✔ ✔ ✔ Cooperative checks between segments.
Cancellation tokens ✔ ❌ ◐ Native .NET cancellation semantics.
Per-query memory budget ✔ ❌ ❌ Caps intermediate result memory.
Partial-result signalling ✔ ❌ ❌ TopDocs.IsPartial records budget or timeout truncation.
Asynchronous result streaming ✔ ❌ ❌ IAsyncEnumerable<ScoreDoc> search.
Segment-by-segment streaming ✔ ❌ ❌ Supports pipeline consumption before all segments complete.
Named ranking profiles and query rules ✔ ❌ ❌ Immutable relevance configuration, bounded pipelines, filters, boosts, and pins.
Snapshot-bound cursor sessions ✔ ◐ ◐ Opaque cursors remain bound to a retained committed searcher view.
Document classification ❌ ✔ ✔ No classifier module.
Percolation and stored-query monitoring ❌ ✔ ✔ No MemoryIndex or monitor-query equivalent.

Diagnostics, tooling, and deployment

Feature LeanCorpus Lucene.NET 4.8 Java Lucene Notes
OpenTelemetry traces ✔ ❌ ❌ ActivitySource spans across search and index operations.
.NET metrics ✔ ❌ ❌ Counters and histograms for index maintenance.
Slow-query records and search analytics ✔ ❌ ❌ Bounded in-process diagnostic buffers.
Typed index and segment reports ✔ ◐ ◐ Higher-level reports over file and segment metadata.
Index check and inspection CLI ✔ ◐ ◐ Structured output and JSON support.
Backup, compatibility, and migration CLI ✔ ❌ ❌ Commands over LeanCorpus-native operational APIs.
Desktop index browser ❌ ✔ ✔ Lucene provides Luke.
Native AOT compatibility ✔ ❌ ❌ Trim-safe core without runtime code generation.
Source-generated serialisation metadata ✔ ❌ ❌ Reflection-free System.Text.Json metadata.