© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
SupabaseS
Supabase•3y ago•
5 replies
shamoons

I am doing a pg vector search, and when I have too many documents, it returns no results. Ideas?

I have a pgvector column and roughly 50,000 records. Here are my indexes
CREATE INDEX "documents_embedding_idx" ON "public"."documents" USING "hnsw" ("embedding" "public"."vector_cosine_ops");

CREATE INDEX "documents_userId_idx" ON "public"."documents" USING "btree" ("userId");
CREATE INDEX "documents_embedding_idx" ON "public"."documents" USING "hnsw" ("embedding" "public"."vector_cosine_ops");

CREATE INDEX "documents_userId_idx" ON "public"."documents" USING "btree" ("userId");


and here is my function to match:
CREATE OR REPLACE FUNCTION "public"."match_documents"("query_embedding" "public"."vector", "match_threshold" double precision, "match_count" integer, "userid" "uuid") RETURNS TABLE("id" "text", "chunktext" "text", "sourceId" "text", "similarity" double precision, "document" "jsonb")
    LANGUAGE "sql" STABLE
    AS $$
SELECT 
  documents.id, 
  documents."chunkText", 
  documents."sourceId",
  1 - (documents.embedding <=> query_embedding) AS similarity, 
  documents.document 
FROM documents 
WHERE 
  1 - (documents.embedding <=> query_embedding) > match_threshold 
  AND documents."userId" = userId
ORDER BY similarity DESC 
LIMIT match_count;
$$;
CREATE OR REPLACE FUNCTION "public"."match_documents"("query_embedding" "public"."vector", "match_threshold" double precision, "match_count" integer, "userid" "uuid") RETURNS TABLE("id" "text", "chunktext" "text", "sourceId" "text", "similarity" double precision, "document" "jsonb")
    LANGUAGE "sql" STABLE
    AS $$
SELECT 
  documents.id, 
  documents."chunkText", 
  documents."sourceId",
  1 - (documents.embedding <=> query_embedding) AS similarity, 
  documents.document 
FROM documents 
WHERE 
  1 - (documents.embedding <=> query_embedding) > match_threshold 
  AND documents."userId" = userId
ORDER BY similarity DESC 
LIMIT match_count;
$$;
Supabase banner
SupabaseJoin
Supabase gives you the tools, documentation, and community that makes managing databases, authentication, and backend infrastructure a lot less overwhelming.
45,816Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

Am I doing it all wrong?
SupabaseSSupabase / help-and-questions
4y ago
many-to-many returns empty array
SupabaseSSupabase / help-and-questions
13mo ago
Too many messages per second : i have to 700 connections
SupabaseSSupabase / help-and-questions
3mo ago
typescript lib types have too many optional fields
SupabaseSSupabase / help-and-questions
7mo ago