Postgres ships with full text search. You do not need a separate search cluster for most apps.
alter table notes add column fts tsvector
generated always as (to_tsvector('english', body)) stored;
create index notes_fts on notes using gin (fts);Query it from the client:
const { data } = await basalt
.from('notes')
.select()
.textSearch('fts', 'foundation & walls')Updated