Skip to main content
Glama
004_full_text_search.sql1.26 kB
-- Migration 004: Full-Text Search Support -- Adds ts_vector column, trigger, and GIN index for fast full-text search -- Idempotent: Safe to run multiple times -- Add search_vector column to memories table ALTER TABLE memories ADD COLUMN IF NOT EXISTS search_vector tsvector; -- Create function to automatically update search_vector -- This function is called by the trigger on INSERT/UPDATE CREATE OR REPLACE FUNCTION memories_search_vector_update() RETURNS trigger AS $$ BEGIN NEW.search_vector := to_tsvector('english', COALESCE(NEW.content, '')); RETURN NEW; END; $$ LANGUAGE plpgsql; -- Create trigger to auto-update search_vector on INSERT/UPDATE DROP TRIGGER IF EXISTS memories_search_vector_trigger ON memories; CREATE TRIGGER memories_search_vector_trigger BEFORE INSERT OR UPDATE OF content ON memories FOR EACH ROW EXECUTE FUNCTION memories_search_vector_update(); -- Create GIN index on search_vector for fast full-text search CREATE INDEX IF NOT EXISTS idx_memories_search_vector ON memories USING GIN(search_vector); -- Update existing rows with search_vector values -- This ensures all existing memories are searchable UPDATE memories SET search_vector = to_tsvector('english', COALESCE(content, '')) WHERE search_vector IS NULL;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keyurgolani/ThoughtMcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server