Skip to content

Search graceful api framework fallback#401

Merged
eugenia-scandit merged 2 commits into
mainfrom
search-graceful-api-framework-fallback
Jul 22, 2026
Merged

Search graceful api framework fallback#401
eugenia-scandit merged 2 commits into
mainfrom
search-graceful-api-framework-fallback

Conversation

@eugenia-scandit

Copy link
Copy Markdown
Collaborator

No description provided.

eugenia-scandit and others added 2 commits July 17, 2026 15:53
When a query names a framework/version, we route on it (framework filter in
transformItems, version facet rewrite) but previously left the token in the
query text sent to Algolia. That platform word skewed textual relevance -
e.g. "barcode capture flutter" lifted /sdks/flutter/agent-skills/ (which lists
frameworks) above /sdks/flutter/barcode-capture/get-started/.

Strip the detected framework tokens (and the version marker when it routes)
from the query text only. Routing is unchanged - it's still derived from the
original query (latestQueryRef and versionTagInQuery both read the original);
only the text Algolia scores against differs, so the product's main guide
surfaces instead of a framework-listing page. Keep the original query if the
strip would empty it (e.g. a lone "ios").

Verified before/after on the framework/version query set: get-started and
product intro pages now rank first where framework-listing / release-notes
pages did before.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The docs-search widget filtered API-reference results to a single framework
(the page's framework, or a hard "web" fallback on framework-less pages) to
avoid spamming the user with the same symbol across every SDK. But native-only
API symbols (Barcode Selection, Barcode Count, etc.) have no Web SDK page, so
the web-only fallback returned zero results even though the symbol exists for
7-8 other frameworks.

Replace the hard "web" fallback with a per-symbol graceful degradation: prefer
web, else the next framework in a fixed priority order that actually has the
page. Still exactly one hit per symbol (no cross-framework duplicates), but
never empty when the symbol exists somewhere. The results footer now names the
framework actually shown instead of a hardcoded "web".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@eugenia-scandit
eugenia-scandit merged commit 7623215 into main Jul 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants