Additive boosting combines relevance features by summing their scores. A query can therefore treat keyword matches, field weights, phrases, geography, freshness, popularity, or categories as separate contributions to one document score. section 3.2.3 section 3.2.2
The mechanism follows a feature-vector view of search: each function contributes a value, and the final score is their total. As more features are added, each feature's relative contribution decreases, so weights often need explicit scaling. This differs from multiplicative boosting, which scales an already calculated relevance score and lets boosts accumulate independently. section 3.2.3
Common additive relevance signals include:
- Keyword similarity, including BM25 scores. section 3.2.3
- Field weights, such as giving title matches more influence than description matches. section 3.2.2
- Phrase, category, semantic, geographical, date, and popularity signals. section 3.2.2
Combining query features
For “the cat in the hat,” separate function queries for “the,” “cat,” “in,” “the,” and “hat” contribute additive values. The same query can weight title matches above description matches, such as title^10 and description^2.5. A popularity value can instead be applied multiplicatively when it should scale the complete relevance score rather than join the additive total. section 3.2.3 section 3.2.2
Text query (score + filter):
{"query": "the cat in the hat"}
Function Query (score only, no filter):
{"query": '{!func}query("the cat in the hat")'}
Multiple Function Queries (score only, no filter):
{"query": '{!func}query("the")
{!func}query("cat")
{!func}query("in")
{!func}query("the")
{!func}query("hat")'}
Boost Query (score only, no filter):
{"query": "*",
"params": {"bq": "the cat in the hat"}}
Compare ordinary text scoring with function queries and multiple function queries that produce score contributions without filtering the result set. section 3.2.3
{"query": "the cat in the hat",
"params": {"defType": "edismax",
"boost": "mul(popularity,10)"}}
{"query": "{!boost b=mul(popularity,10)} the cat in the hat"}
Contrast additive keyword scoring with a Solr boost that multiplies the final score by a popularity-based function. section 3.2.3
