Result Boosts
Boosts let you bias search ranking towards (or away from) specific pages without re-indexing. Use them when your most relevant pages aren't surfacing high enough, or when low-priority pages are crowding out better answers.
Boosts apply at query time — every search after a save reflects the new values. There is no reindex step.
How It Works
For every result returned from the vector search, QuantSearch checks the configured boosts and multiplies the result's relevance score:
- If the result's
metadata.tagsarray contains a configured tag, multiply by that tag's boost. - If the result's URL path starts with a configured URL prefix, multiply by that prefix's boost.
- If multiple boosts match the same result, the multipliers compound (e.g. 2× and 1.5× → 3×).
- Results are then re-sorted by adjusted score, deduplicated by URL, and returned.
The same boosts also affect the AI summary — the top 8 boost-adjusted results are fed to the LLM as context, so the AI cites the same pages the user sees ranked highest.
Tag Boosts
Useful when your indexed content carries semantic tags such as content type,
category, or audience. Drupal's quantsearch_ai module automatically
indexes content type as type:<bundle> in tags, plus any
taxonomy term names.
[
{ "tag": "type:product", "boost": 2.0 },
{ "tag": "type:resource", "boost": 0.5 },
{ "tag": "evergreen", "boost": 1.3 }
] | Field | Type | Description |
|---|---|---|
tag | string | Exact tag string to match in metadata.tags. Case-sensitive. |
boost | number | Multiplier > 0. Values above 1 boost; below 1 deboost. Negative or zero values are silently ignored. |
URL Prefix Boosts
Useful when content type isn't tagged but URLs follow a stable pattern.
Either path-only prefixes (/products) or full URL prefixes
(https://example.com/products) are accepted.
[
{ "urlPrefix": "/products", "boost": 2.0 },
{ "urlPrefix": "/blog/archive", "boost": 0.3 }
] | Field | Type | Description |
|---|---|---|
urlPrefix | string | Path prefix (e.g. /products) or full URL prefix. Match is a literal startsWith on the URL path. |
boost | number | Multiplier > 0. Same semantics as tag boosts. |
Configuration
Dashboard
Open your site's settings page. The "Tag Boosts" and "URL Prefix Boosts" panels let you add, remove, and tune boosts. Click Save Changes — boosts take effect on the next query.
API
PUT /v1/organisations/{orgId}/ai-search/sites/{siteId}
{
"tagBoosts": [
{ "tag": "type:product", "boost": 2.0 }
],
"urlBoosts": [
{ "urlPrefix": "/products", "boost": 2.0 }
]
} Both fields are optional and merged with existing site config. Pass an empty array to clear all boosts of that kind.
Choosing Values
- 2.0 — strong boost, will reliably push matching pages above unmatched ones of similar relevance.
- 1.3 – 1.5 — moderate nudge; useful for evergreen vs. archive content.
- 0.3 – 0.5 — strong deboost; pushes deprioritized pages out of the top results.
- 0 — silently ignored. Use a small value (e.g.
0.01) if you really want a page to never surface, but a metadata exclude pattern at crawl time is cleaner.
Inspecting What's Indexed
To see what tags and metadata each indexed page actually carries — useful when deciding which tag boosts to set up — open the Index tab on your site dashboard and click the inspector button on any row to expand the full record JSON.
Limitations
- Boosts are applied after the vector search returns its top candidates. They re-rank but cannot rescue pages that fell below
minScore. - Group/federated search applies each result's owning-site boosts individually before merging.
- The internal cap on chunks fetched is
limit × 3. With very aggressive deboosts (e.g. 0.1) on common content, you may exhaust this budget and see fewer-than-expected results.