Summary
We're evaluating whether search-resolver can be used to override the search results returned by VTEX Intelligent Search with results (or result ordering) sourced from an external, third-party API.
Context / Use case
We have an external service that computes its own product ranking/relevance, and we'd like the storefront search to reflect that ranking instead of (or blended with) the default results.
Questions
- Is
search-resolver the correct/supported extension point for intercepting and overriding search results, or is another app (e.g. a custom resolver / search-graphql) more appropriate?
- Can the resolver call out to an external API at query time to fetch or re-rank results? Are there recommended patterns or limits for doing so (latency, caching, timeouts)?
- Are there hooks to modify or replace the product list, facets, and pagination while keeping the existing GraphQL schema/contract intact?
- Any concerns around SLA, caching layers, or breaking compatibility with the default Intelligent Search behavior?
Environment
- App:
vtex-apps/search-resolver
- Version:
Additional notes
Any documentation links, examples, or guidance on the recommended approach would be greatly appreciated.
Summary
We're evaluating whether
search-resolvercan be used to override the search results returned by VTEX Intelligent Search with results (or result ordering) sourced from an external, third-party API.Context / Use case
We have an external service that computes its own product ranking/relevance, and we'd like the storefront search to reflect that ranking instead of (or blended with) the default results.
Questions
search-resolverthe correct/supported extension point for intercepting and overriding search results, or is another app (e.g. a custom resolver /search-graphql) more appropriate?Environment
vtex-apps/search-resolverAdditional notes
Any documentation links, examples, or guidance on the recommended approach would be greatly appreciated.