diff --git a/database/schema/schema.sql b/database/schema/schema.sql index 3f1abc0..cc76221 100644 --- a/database/schema/schema.sql +++ b/database/schema/schema.sql @@ -145,6 +145,18 @@ ALTER TABLE media_items ADD COLUMN IF NOT EXISTS contributors_search TEXT[]; CREATE INDEX IF NOT EXISTS idx_media_items_tags_search ON media_items USING GIN (tags_search); CREATE INDEX IF NOT EXISTS idx_media_items_contributors_search ON media_items USING GIN (contributors_search); +-- Add GIN indexes for pg_trgm fuzzy search performance +CREATE INDEX IF NOT EXISTS idx_media_items_author_trgm + ON media_items USING GIN (author gin_trgm_ops); +CREATE INDEX IF NOT EXISTS idx_media_items_title_trgm + ON media_items USING GIN (title gin_trgm_ops); +CREATE INDEX IF NOT EXISTS idx_media_items_series_trgm + ON media_items USING GIN (series gin_trgm_ops); +CREATE INDEX IF NOT EXISTS idx_media_items_genre_trgm + ON media_items USING GIN (genre gin_trgm_ops); +CREATE INDEX IF NOT EXISTS idx_media_items_language_trgm + ON media_items USING GIN (language gin_trgm_ops); + -- Create reading_progress table CREATE TABLE IF NOT EXISTS reading_progress ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(),