[EDU-17906] feat: implement Hybrid Search API integration#456
[EDU-17906] feat: implement Hybrid Search API integration#456barbara-celi wants to merge 10 commits into
Conversation
- Added a new API endpoint `/api/search` that proxies requests to the VTEX Docs Hybrid Search API. - Implemented query parameter handling, including validation and default limits. - Introduced caching for successful responses at the CDN edge. - Created a reusable Hybrid Search client for API interactions. - Added comprehensive unit tests for the API handler and client functionality. - Documented the setup and usage in a new `hybrid-search-setup.md` file.
✅ Deploy Preview for leafy-mooncake-7c2e5e ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
- Clarified the purpose of the `NEXT_PUBLIC_HYBRID_SEARCH_ENABLED` variable. - Added detailed steps for enabling hybrid search in local development and Netlify deployment. - Included a note about the need for a rebuild when using the `NEXT_PUBLIC_` prefix.
|
O deploy preview ainda roda algolia. Notei que a flag No local aqui também roda algolia, mesmo depois de instalar a dependência da branch |
| /** | ||
| * Reusable client for the VTEX Docs Hybrid Search API. | ||
| * | ||
| * This module is intentionally framework-agnostic (no Next.js / React |
There was a problem hiding this comment.
Acho que esse cliente deveria ser implementado no components. Mas o Cursor falou que isso pode abrir uma vulnerabilidade. Então acho que podemos estudar essa migração com mais calma durante o rollout.
O que acha @brunoamui ?
- Updated library config to support hybrid search via NEXT_PUBLIC_HYBRID_SEARCH_ENABLED - Configured settings for Algolia and hybrid search backends with API endpoints
… troubleshooting pages - Updated translation files to include new messages for results found. - Enhanced the respective pages to display the number of results found based on user filters.
- Modified the Search component to accept an itemsPerPage prop, setting it to 10. - Increased the default limit for hybrid search results from 10 to 50.
…n library config - Removed the itemsPerPage prop from the Search component. - Set the default itemsPerPage value to 10 in the library configuration for hybrid search.
Required so the Netlify deploy preview resolves the hybrid search adapter that libraryConfig.ts wires up.
|
FYI — the Netlify deploy preview is still failing after the dependency flip, but looks like a separate issue that started a couple commits earlier (e680c94). Build log shows: Seems like |
- Introduced a new style for the results number container with specific font size and color. - Updated the export to include the new style in the announcements page styles.
…on (EDU-18407) Full impl saved in temp/edu-18407/search-doctype-filter.full-impl.cy.js for PR #456. Spec targets data-testid attrs not in main; stays as skeleton until EDU-18406 lands.
What is the purpose of this pull request?
This PR implements a new
/api/searchendpoint in the Help Center that proxies requests to the VTEX Docs Hybrid Search API.The implementation includes:
/api/search) that validates input, handles errors, and applies CDN caching.hybrid-search-client.ts) designed to be shared between Help Center and Dev Portal.What problem is this solving?
EDU-17906 - Implement hybrid search: Help Center implementation
The Help Center currently relies entirely on Algolia for search. This implementation:
help-center).@vtexdocs/componentsand shared with the Dev Portal.How should this be manually tested?
@vtexdocs/componentspoints to the branch with hybrid search support. For this task, I'm working on thefeat/hybrid-searchbranch. Important: This change is only needed for testing until thevtexdocs/componentsPR merges to main. Revert this before committing your final changes.yarn installto fetch the updated components.yarn dev.Screenshots or example usage
Types of changes