Volltextsuche und Vektor-Embeddings mit pgvector
Erweitern Sie Suchfunktionen mit der Postgres-Volltextsuche und der semantischen Ähnlichkeitssuche der pgvector-Erweiterung in Supabase.
Volltextsuche und Vektor-Embeddings mit pgvector ist eine kostenlose Supabase Backend as a Service-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Supabase Backend as a Service-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Supabase Backend as a Service-Kurs umfasst insgesamt 3 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Two Kinds of Search
Postgres supports full-text search for keyword matching and, via the pgvector extension, semantic search over AI embeddings, both inside Supabase.
Full-Text Search Basics
Postgres turns text into a searchable tsvector and queries it with a tsquery, handling stemming and ranking.
A Full-Text Query
Match documents whose body contains the search terms.
select id, title
from articles
where to_tsvector('english', body)
@@ plainto_tsquery('english', 'database scaling');Indexing for Speed
A GIN index on the tsvector makes full-text search fast at scale.
create index articles_fts
on articles
using gin (to_tsvector('english', body));What Are Embeddings?
An embedding is a list of numbers (a vector) that captures meaning. Similar texts have vectors that are close together, enabling search by concept, not just keywords.
Enabling pgvector
Turn on the extension, then add a vector column sized to your model's dimensions.
create extension if not exists vector;
alter table docs add column embedding vector(1536);Storing an Embedding
Generate the vector with an embedding model, then insert it alongside the text.
const { error } = await supabase
.from('docs')
.insert({ content: text, embedding: vectorArray });Similarity Search
Find the nearest vectors using a distance operator. <=> is cosine distance.
select content
from docs
order by embedding <=> query_embedding
limit 5;Indexing Vectors
An HNSW or IVFFlat index speeds up nearest-neighbor search on large vector tables.
create index on docs
using hnsw (embedding vector_cosine_ops);Choosing the Right Approach
Use full-text search for exact keyword needs, and vector search for meaning-based retrieval like Q&A or recommendations. Many apps combine both (hybrid search).
function pickSearch(needsMeaning) {
return needsMeaning ? 'vector' : 'full-text';
}
console.log(pickSearch(true));Putting It Together
Postgres gives you both keyword and semantic search natively. With GIN indexes for text and HNSW indexes for vectors, search stays fast as data grows.
Quick Check
Test your understanding of search extensions.
Recap
You learned full-text search with tsvector and GIN indexes, plus semantic search with pgvector, vector columns, distance operators, and HNSW indexes, and when to use each or combine them.
Lerne Supabase Backend as a Service mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 11
- Lektionen
- 40
Häufig gestellte Fragen
Ist die Lektion „Volltextsuche und Vektor-Embeddings mit pgvector“ kostenlos?
Ja — der vollständige Text von „Volltextsuche und Vektor-Embeddings mit pgvector“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Supabase Backend as a Service-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Supabase Backend as a Service-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Volltextsuche und Vektor-Embeddings mit pgvector“?
Erweitern Sie Suchfunktionen mit der Postgres-Volltextsuche und der semantischen Ähnlichkeitssuche der pgvector-Erweiterung in Supabase. Du übst Supabase Backend as a Service mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Supabase Backend as a Service zu starten?
Keine Vorkenntnisse erforderlich. Supabase Backend as a Service auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.
Wie lange dauert die Lektion „Volltextsuche und Vektor-Embeddings mit pgvector“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Supabase Backend as a Service-Lektion Code schreiben und ausführen?
Ja. Jede Supabase Backend as a Service-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Postgres-Erweiterungen verwenden
- Fortgeschrittene Geodaten (PostGIS)
- Volltextsuche und Vektor-Embeddings mit pgvector