Context
Stage search is failing because the stage Typesense events collection appears to predate the channel_id facet field. Current buzz-search schema expects:
{"name": "channel_id", "type": "string", "facet": true, "optional": true}
When the relay pushes the expected channel_id filter, Typesense returns a per-result multi_search error:
{ "code": 400, "error": "Could not find a filter field named `channel_id` in the schema." }
Task
Repair/recreate the stage Typesense events collection so it includes the current schema, then reindex/backfill events.
Acceptance criteria
- Stage
events collection schema includes channel_id as expected by buzz-search.
- Existing indexed documents are backfilled/reindexed with
channel_id values, including the __global__ sentinel for global events.
- Stage relay search no longer receives
Could not find a filter field named channel_id from Typesense.
- Global and single-channel
/query search probes return HTTP 200.
- Decide whether
ensure_collection should detect missing fields and fail loudly / repair automatically, or document the manual ops path for future schema drift.
Related
Context
Stage search is failing because the stage Typesense
eventscollection appears to predate thechannel_idfacet field. Currentbuzz-searchschema expects:When the relay pushes the expected
channel_idfilter, Typesense returns a per-resultmulti_searcherror:{ "code": 400, "error": "Could not find a filter field named `channel_id` in the schema." }Task
Repair/recreate the stage Typesense
eventscollection so it includes the current schema, then reindex/backfill events.Acceptance criteria
eventscollection schema includeschannel_idas expected bybuzz-search.channel_idvalues, including the__global__sentinel for global events.Could not find a filter field named channel_idfrom Typesense./querysearch probes return HTTP 200.ensure_collectionshould detect missing fields and fail loudly / repair automatically, or document the manual ops path for future schema drift.Related