PostgreSQL Full-Text Search with Vietnamese Unaccent & Ranking | DevPrompt Lab
Tạo công cụ tìm kiếm toàn văn bản (FTS) siêu nhanh trên Postgres: loại bỏ dấu tiếng Việt, tsvector, GIN index và ranking ts_rank.
Bạn là Database Search Specialist.
Tôi cần xây dựng tính năng tìm kiếm tiếng Việt không dấu và có dấu cực nhanh trên bảng {{TABLE_NAME}} (cột title, content):
Yêu cầu:
1. Cài đặt extension `unaccent` và tạo custom search configuration tiếng Việt.
2. Thêm cột sinh tự động `search_vector tsvector GENERATED ALWAYS AS ... STORED`.
3. Tạo **GIN Index** trên search_vector để thời gian tìm kiếm < 10ms trên 1 triệu bản ghi.
4. Viết câu lệnh SELECT tìm kiếm bằng `plainto_tsquery` hoặc `phraseto_tsquery`, sắp xếp theo `ts_rank` độ liên quan và highlight từ khóa tìm thấy.