Skip to content

Comments

feat(search): migrate to unified index and add category chip#677

Merged
Yuiham merged 2 commits intomasterfrom
refactor/search-ui
Feb 12, 2026
Merged

feat(search): migrate to unified index and add category chip#677
Yuiham merged 2 commits intomasterfrom
refactor/search-ui

Conversation

@Yuiham
Copy link
Collaborator

@Yuiham Yuiham commented Feb 12, 2026

Summary

  • switch onsite search to a unified all-stable index by language (en-tidb-all-stable, zh-tidb-all-stable), and remove per-doc-type/version index routing
  • simplify /search query/state handling to only use q
  • add src/shared/utils/searchCategory.ts to normalize search hit URLs and infer category from path prefixes
  • show a category chip on each search result item using i18n labels

Why

  • decouple search UI from doc type/version-specific index naming
  • align the search flow with unified all-stable indexing
  • improve result readability by surfacing product/category context directly in the list

Notes

  • /search no longer depends on type and version query params
  • doc type/version selector UI is removed from DocSearchTemplate
  • JA currently has no mapped all-stable index in this change and returns empty results on onsite search

Validation

  • no additional local build/test rerun in this step (PR description update only)

@vercel
Copy link

vercel bot commented Feb 12, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
website-docs Ready Ready Preview, Comment Feb 12, 2026 9:07am

Request Review

@gemini-code-assist
Copy link

Summary of Changes

Hello @Yuiham, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request streamlines the search experience by transitioning to a unified search index, which simplifies the underlying search logic and improves result presentation. The introduction of category chips directly on search results enhances user understanding and navigation, making it easier to identify the relevance of each search hit at a glance.

Highlights

  • Unified Search Index Migration: The search functionality has been migrated to use a unified Algolia index per language, simplifying the search query logic by removing the need to specify document types and versions.
  • Category Chip Integration: Search results now display a category chip next to each result title, providing users with immediate context about the content's origin (e.g., 'TiDB Cloud', 'Developer').
  • Search Category Utilities: A new utility file has been introduced to define search categories, normalize URLs, resolve categories from search result URLs, and retrieve localized labels for these categories.
  • Simplified Search Template: The DocSearchTemplate component has been significantly refactored, removing complex version and type selection logic and associated UI elements, aligning with the unified index approach.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/components/Search/Results.tsx
    • Imported Chip component and new search category utilities.
    • Modified SearchItem to display a category chip, dynamically resolving the category and its localized label from the result's URL.
  • src/components/Search/index.tsx
    • Simplified the navigate function call for onsite search, removing type and version parameters from the URL and state.
  • src/shared/utils/searchCategory.ts
    • Added a new file defining SEARCH_CATEGORIES and SearchCategory type.
    • Implemented getSearchCategoryLabelKey to map categories to i18n keys.
    • Included normalizeSearchResultPath to clean up URLs for category resolution.
    • Provided resolveSearchCategory to determine the category of a search result based on its URL path.
  • src/templates/DocSearchTemplate.tsx
    • Removed unused Typography and Button imports.
    • Eliminated extensive logic related to docType, docVersion, and version fetching/conversion.
    • Replaced dynamic index name generation with a static SEARCH_INDEX_BY_LANGUAGE map for unified Algolia indices.
    • Removed UI components for document type and version selection.
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@Yuiham Yuiham requested a review from shhdgit February 12, 2026 02:00
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the site-wide search to a unified Algolia index, simplifying the search implementation, introducing shared/utils/searchCategory.ts for URL-based category resolution, and enhancing the UI with a category chip in search results. A critical finding is a medium-severity Cross-Site Scripting (XSS) vulnerability in src/components/Search/Results.tsx due to the use of dangerouslySetInnerHTML to render highlighted search results from Algolia, which requires sanitization as a best practice. On a positive note, the changes also improve security by removing user-controlled parameters from the search index selection logic, and there is a minor suggestion to improve type safety.

Base automatically changed from feat/restructure to master February 12, 2026 07:41
@Yuiham Yuiham merged commit eb26906 into master Feb 12, 2026
2 checks passed
@Yuiham Yuiham deleted the refactor/search-ui branch February 12, 2026 09:12
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