groceries: relevance-ranked search (plain/basic products first)
All checks were successful
Deploy production / deploy (push) Successful in 1m13s

- search.ts: score on the core name (brand/size stripped): exact or query+base suffix
  (kipdij+filet), head-final compounds, prefix, inside; penalties per extra word and per
  flavour/processing word (search-words.ts, editable); bonuses for store brands, the
  query's dominant category, store count, favourites; trigram tiebreak
- groceries.synonyms table (seeded: kipdij/kippendij, pasta → spaghetti, …) expands queries
- list rows show all pack sizes of a group; group picker uses the same ranking
- scripts/groceries-search-eval.ts prints top results + latency; preflight now 8 tables
This commit is contained in:
2026-10-25 20:20:34 +00:00
parent 5028524537
commit 60370d4572
14 changed files with 31221 additions and 16 deletions

View File

@@ -167,8 +167,8 @@ try {
where n.nspname = 'groceries' and c.relkind = 'r'
`;
if (
Number(groceries.tables) !== 7 ||
Number(groceries.app_rw) !== 7 ||
Number(groceries.tables) !== 8 ||
Number(groceries.app_rw) !== 8 ||
Number(groceries.ro_read) !== 0 ||
groceries.public_usage
)