Skip to main content

Search System

The Platform Search System provides a unified global search experience across all entity types (Datasets, Checks, Workflows, Issues) within the platform.

Architecture

1. Unified Indexing

Search is not just a database query; it involves a specialized indexing strategy.

  • SearchService: Orchestrates queries across multiple domains.
  • Optimization: We use optimized SQL queries (potentially leveraging Full Text Search features of PostgreSQL) to retrieve results efficiently.

2. Keyboard Navigation (Cmd+K)

The frontend implements a "Command Palette" pattern.

  • Global Listener: Listens for Cmd+K (or Ctrl+K) to open the search modal.
  • Context Aware: The search can theoretically benefit from context (e.g., current space), but primarily functions as a global discovery tool.

Multi-Entity Discovery

The search result model is polymorphic.

  • Results: A list of SearchResult objects.
  • Type Discrimination: Each result includes a type field (e.g., dataset, quality_check, workflow) to separate rendering logic in the UI.

Clicking a result uses the Standard #330-ContextLink pattern to ensure the user is navigated to the correct location, preserving necessary context (like the active tab or filter settings).