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:

  1. Term boost: boost individual query terms (e.g., lucene^2.5)
  2. Field boost: boost matches in specific fields (e.g., title boost > body)
  3. Clause boost: boost entire sub-queries (e.g., brand:“Lucene”^3.0)
  4. 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.

See also