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:

  1. If the result's metadata.tags array contains a configured tag, multiply by that tag's boost.
  2. If the result's URL path starts with a configured URL prefix, multiply by that prefix's boost.
  3. If multiple boosts match the same result, the multipliers compound (e.g. 2× and 1.5× → 3×).
  4. 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.