Solr Search Tuning
Field weights, minimum match, freshness, and the hybrid balance — four dials that fix 90% of relevance complaints.
TL;DR — Every Opensolr index has a Search Tuning panel in the Control Panel. It exposes the four settings that actually decide result quality — field weights (qf), minimum match (mm), freshness boost, and the lexical/vector balance for hybrid search — as sliders and fields. Changes apply live, per index, without touching schema.xml or solrconfig.xml. Change ONE dial at a time and re-test.
1. Field weights (qf) — where a match matters most
A match in a title almost always signals more relevance than the same match buried in body text. The edismax query parser expresses this with the qf parameter — a list of fields with multipliers. A battle-tested starting point for content sites:
title^5 tags^3 summary^2 body^1
Symptoms and fixes: “the page that is literally titled what I searched is not first” → raise the title weight. “tag/keyword pages dominate over real content” → lower the tag field weight. Keep ratios modest (1–10 range); a title^50 does not make results 10× better, it makes every other signal irrelevant.
2. Minimum match (mm) — precision vs. recall
mm decides how many of the query's words must match. mm=100% means every word must be present — precise, but a single typo or extra word returns zero results. mm=1 matches any word — never empty, often noisy. The sweet spot for most sites:
2<75% (all words required up to 2; above that, 75% of them)
Symptoms: “too many zero-result searches” → loosen mm. “searching for solr replication returns everything that mentions solr” → tighten it. Your Query Analytics page shows the zero-result rate, so this is measurable, not a guess.
3. Freshness boost — when newer should win
For news, changelogs, documentation and anything versioned, a relevance tie should break toward the newer document. The tuning panel's freshness boost applies a date-decay function to your date field — gentle by default, so it re-orders near-ties instead of overriding topical relevance. If year-old articles outrank this month's update on the same topic, raise it one step; if evergreen cornerstone pages get buried by minor news, lower it.
4. Hybrid balance — lexical vs. vector
With hybrid search enabled, every query runs both a lexical (keyword) leg and a vector (semantic) leg, blended by a weight you control. The single most common mistake we see in real tuning sessions: setting the lexical weight so low that vector similarity drowns out exact matches — users type an exact phrase that exists word-for-word in a document, and semantically-similar-but-wrong documents outrank it. Rule of thumb: start balanced. Move toward vector only when your users ask conceptual questions (“how do I make search faster”), move toward lexical when they search exact names, codes, or phrases. Test both query styles after every change.
The tuning method that actually works
- Collect 10 real queries from your Query Analytics — the actual searches your users run, not the ones you imagine.
- For each, write down which document SHOULD be first. This is your test set.
- Change one dial, re-run all 10, count improvements vs. regressions.
- Keep the change only if it wins on net. Repeat.
Open your index's Search Tuning panel and try it on live queries.
Go to Control Panel →New here? Create a free index and tune it in minutes.