PostText/migrations/15/up.sql
2023-10-27 17:56:53 -04:00

28 lines
825 B
SQL

-- Fuzzy search
-- https://hevodata.com/blog/postgresql-full-text-search-setup/#Fuzzy_Search_vs_Full_Text_Search
CREATE EXTENSION pg_trgm;
-- Create column for seearch tokens
ALTER TABLE threads
ADD COLUMN search_tokens TSVECTOR
GENERATED ALWAYS AS
(TO_TSVECTOR('english', thread_author) ||
TO_TSVECTOR('english', thread_title ) ||
TO_TSVECTOR('english', thread_body )) STORED;
-- Create GIN index for search tokens
CREATE INDEX threads_search_idx
ON threads
USING GIN(search_tokens);
-- Same for remarks
ALTER TABLE remarks
ADD COLUMN search_tokens TSVECTOR
GENERATED ALWAYS AS
(TO_TSVECTOR('english', remark_author) ||
TO_TSVECTOR('english', remark_body )) STORED;
CREATE INDEX remarks_search_idx
ON remarks
USING GIN(search_tokens);