What it is
A directory that answers, not one that filters
The difference is the whole product. A classical directory gives you controls and leaves the thinking to
you. Discover accepts what you actually said, works out which of its fields could answer it, and tells
you when it could not.
1 · Listings
The stable fields
Businesses, categories, places, ratings and review aggregates — written by
one writer. Discover reads; marloc-md-publisher-worker is the sole author of the
serving tables. A reader that can also write is a reader that will disagree with itself.
marloc-md-discover-worker · D1 businesses, business_listings
2 · The query
Filters, and disjunction
A query is { groups: Constraint[][] } — disjunctive normal form. Groups are ORed, constraints
within a group ANDed, so "makelaars in Utrecht or taxateurs in Amersfoort" is one request with
one set of counts, not two searches stapled together.
@mondial-it/search-and-filters · g<n>.<field> in the URL
3 · The sentence
Free text, tokenised per request
No index, no cron, no token store. q is split at query time, asking words dropped, capped at
six tokens, ORed across searchable fields and ANDed across tokens. Nothing outlives the request, so
there is nothing to backfill and nothing to prune.
app/lib/ · F9 in the search-and-filters register
4 · The answer
Presented, and explained
Results render through the site manifest — bands and record renders chosen by an interpreter at request
time, not baked at build. A moderated change is live without a deploy.
app/components/directory/site-manifest.ts → manifest_active