diff --git a/backend/src/features/platform/migrations/002_add_catalog_search_index.sql b/backend/src/features/platform/migrations/002_add_catalog_search_index.sql deleted file mode 100644 index 2aa03fc..0000000 --- a/backend/src/features/platform/migrations/002_add_catalog_search_index.sql +++ /dev/null @@ -1,14 +0,0 @@ --- Migration: Add full-text search index for vehicle catalog search --- Date: 2025-12-15 - --- Add full-text search index on vehicle_options table --- Combines year, make, model, and trim into a single searchable tsvector --- Using || operator instead of concat() because || is IMMUTABLE -CREATE INDEX IF NOT EXISTS idx_vehicle_options_fts ON vehicle_options -USING gin(to_tsvector('english', year::text || ' ' || make || ' ' || model || ' ' || trim)); - --- Add an index on engines.name for join performance during search -CREATE INDEX IF NOT EXISTS idx_engines_name ON engines(name); - --- Add comment for documentation -COMMENT ON INDEX idx_vehicle_options_fts IS 'Full-text search index for admin catalog search functionality'; diff --git a/data/vehicle-etl/migrations/001_create_vehicle_database.sql b/data/vehicle-etl/migrations/001_create_vehicle_database.sql index 1defbcc..0775b60 100644 --- a/data/vehicle-etl/migrations/001_create_vehicle_database.sql +++ b/data/vehicle-etl/migrations/001_create_vehicle_database.sql @@ -75,6 +75,13 @@ CREATE INDEX idx_vehicle_year_make_model_trim ON vehicle_options(year, make, mod CREATE INDEX idx_vehicle_year_make_model_trim_engine ON vehicle_options(year, make, model, trim, engine_id); CREATE INDEX idx_vehicle_year_make_model_trim_trans ON vehicle_options(year, make, model, trim, transmission_id); +-- Full-text search index for admin catalog search +CREATE INDEX idx_vehicle_options_fts ON vehicle_options +USING gin(to_tsvector('english', year::text || ' ' || make || ' ' || model || ' ' || trim)); + +-- Index on engines.name for join performance during search +CREATE INDEX idx_engines_name ON engines(name); + -- Views for dropdown queries -- View: Get all available years