Boosting
What it is
Boosting is a ranking signal multiplication applied during query execution. A boost factor multiplies the base relevance score of a matching clause, field, or term, amplifying or dampening its contribution to overall relevance. Boosts > 1.0 increase importance; boosts < 1.0 decrease it.
How it works
Scoring frameworks apply boosts at multiple levels:
- Term boost: boost individual query terms (e.g.,
lucene^2.5) - Field boost: boost matches in specific fields (e.g., title boost > body)
- Clause boost: boost entire sub-queries (e.g., brand:“Lucene”^3.0)
- Score multiplication: final score = base_score * boost_factor
Boosts are typically applied during query parsing or construction, then multiplied into the similarity score (BM25, TF-IDF, etc.).
[illustrate: Score computation with and without field boosts; how multipliers affect final ranking order]
Example
Query: lucene^2.0 OR elasticsearch^1.5 OR solr
- “lucene” matches get 2x score multiplier
- “elasticsearch” matches get 1.5x multiplier
- “solr” matches get 1.0x (default)
Documents matching “lucene” rank higher, all else equal.
Variants and history
Index-time boosting: less common; bakes boosts into index (reduces flexibility). Query-time boosting: applied at search time (standard). Lucene syntax: term^boost. Elasticsearch supports boost in query DSL. Combined with decay functions (distance, recency) for more nuanced scoring.
When to use it
Fine-tune ranking when base relevance model needs adjustment. Boost titles over bodies. Increase score for recent content or popular products. Essential for A/B testing ranking changes. Start conservative; large boosts can distort relevance. Document expected boost ranges via testing.