pinakes/crates/pinakes-migrations/migrations/postgres/V2__fts_indexes.sql
NotAShelf 9f9aa80265
treewide: move migration logic into pinakes-migrations crate
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I98b8ed2eee464ecfd42f492dec49adeb6a6a6964
2026-05-24 14:25:53 +03:00

12 lines
603 B
SQL

ALTER TABLE media_items
ADD COLUMN IF NOT EXISTS search_vector tsvector GENERATED ALWAYS AS (
setweight(to_tsvector('english', COALESCE(title, '')), 'A') || setweight(to_tsvector('english', COALESCE(artist, '')), 'B') || setweight(to_tsvector('english', COALESCE(album, '')), 'B') || setweight(to_tsvector('english', COALESCE(genre, '')), 'C') || setweight(
to_tsvector('english', COALESCE(description, '')),
'C'
) || setweight(
to_tsvector('english', COALESCE(file_name, '')),
'D'
)
) STORED;
CREATE INDEX IF NOT EXISTS idx_media_search ON media_items USING GIN (search_vector);