Full-Text-Search Explained from A to Z with French Food
summary
PostgreSQL implements full‑text search with tsvector and tsquery, stemming, stop words, weighting and GIN indexes; a 250k‑row demo shows orders‑of‑magnitude speedups versus leading‑wildcard LIKE. For synonyms and typos use custom dictionaries, pg_trgm or fuzzy matching. For semantic needs generate embeddings (any model) and store them with pgvector (Cloud SQL/AlloyDB can call Google ML), then do nearest‑neighbor ranking. Combine both via reciprocal rank fusion to merge ranked lists into more accurate hybrid results.
AI-written summary · about
chapters (21)
- 0:00Introduction and speaker intro
- 1:46What is search and why it matters
- 2:28Basic text search limitations
- 6:19Full-text search in PostgreSQL
- 8:52TS vector and tokenization
- 10:15TS query and operators
- 13:03Advanced query functions
- 14:28Basic full-text search query
- 15:51Performance comparison
- 16:33Ranking with TS rank
- 18:17Synonyms and typos handling
- 19:44When full-text search isn't enough
- 22:15Semantic search with embeddings
- 25:27Vector similarity search
- 27:53Benefits of semantic search
- 29:21Limitations of semantic search
- 31:08Hybrid search introduction
- 31:52Combining full-text and vector search
- 33:41Reciprocal rank fusion
- 36:11Hybrid search results
- 38:58Q&A session
related talks
59mFull-text search - seek and ye shall find
34mFull-Text Search in PostgreSQL
48mFrom Text to Meaning: pgvector Transforms PostgreSQL Search
27mMulti-table Full Text Search with Postgres
21mTorus: PostgreSQL Search in Ecto
22mFrom Postgres full text search to Retrieval Augmented Generative search
24mSearch From the Ground Up
29mA Pythonic semantic search
