Section navigation

Advanced features

Use this section after ordinary indexing and searching work. Read the result-shaping or vector subsection that matches your application requirement.

Result shaping

Feature What it does When to use it
Highlighting Wraps matching terms in markup for display Search result snippets
Field collapsing Groups results by a field value (e.g. one hit per category) Deduplicating search results
Aggregations Computes min, max, sum, count, average, and histograms over a numeric field Analytics, dashboards, faceted counts
Faceting Counts matching documents by DocValues field Navigation, filters, and category summaries
Reciprocal rank fusion Merges multiple query result sets without score calibration Hybrid search (BM25 + vector)
Geo search Bounding box and distance queries over latitude and longitude points Location-based filtering
Feature What it does When to use it
Vector search Approximate nearest neighbour over dense float vectors using HNSW graphs Semantic search, embeddings, similarity
Filtered vector search Vector ANN with a pre-filter or post-filter query Scoped semantic search

Vectors can be quantised with BBQ (Better Binary Quantisation) for 32x compression with minimal recall loss. The quantised query path operates in int8 for speed.

Specialised queries

Feature What it does When to use it
Block-join Queries parent documents based on child matches Nested documents (blog posts with comments)
More like this Finds documents similar to a given document Related content, recommendations
Spelling suggestions Did-you-mean corrections based on the index lexicon Search UX

Scoring and ranking

Feature Where to learn What it does
BM25+ and BM25L Boosting and scoring Advanced BM25 variants with lower-bound and length normalisation
Block-Max WAND Search internals Score-bound skipping for supported top-N queries
Language-model similarities API reference for DirichletSimilarity, etc. Probabilistic relevance models
SIMD cosine Vector search Vectorised cosine similarity for dense vectors