Pesquisa de Texto Completo e Incorporações Vetoriais com pgvector
Potencialize os recursos de pesquisa usando a pesquisa de texto completo do Postgres e a pesquisa por similaridade semântica com a extensão pgvector no Supabase.
Pesquisa de Texto Completo e Incorporações Vetoriais com pgvector é uma aula grátis de Supabase Backend as a Service no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Supabase Backend as a Service, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Supabase Backend as a Service inclui 3 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
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.
Perguntas Frequentes
A aula “Pesquisa de Texto Completo e Incorporações Vetoriais com pgvector” é grátis?
Sim — o texto completo de “Pesquisa de Texto Completo e Incorporações Vetoriais com pgvector” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Supabase Backend as a Service, atualize para CoddyKit PRO. O curso de Supabase Backend as a Service inclui 3 aulas no total.
O que vou aprender em “Pesquisa de Texto Completo e Incorporações Vetoriais com pgvector”?
Potencialize os recursos de pesquisa usando a pesquisa de texto completo do Postgres e a pesquisa por similaridade semântica com a extensão pgvector no Supabase. Você pratica Supabase Backend as a Service com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Supabase Backend as a Service?
Nenhuma experiência prévia é necessária. Supabase Backend as a Service no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Pesquisa de Texto Completo e Incorporações Vetoriais com pgvector”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Supabase Backend as a Service?
Sim. Cada aula de Supabase Backend as a Service inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Utilizando extensões do Postgres
- Dados geoespaciais avançados (PostGIS)
- Pesquisa de Texto Completo e Incorporações Vetoriais com pgvector