Home / Recipes / Track a slow-moving topic without drowning in it

Worked query

Track a slow-moving topic without drowning in it

/stories in semantic mode. The parameters matter less than the reasoning behind them, so that is most of what is below.

The request

HTTP
GET /stories
  ?q=emissions targets grid capacity renewables policy
  &mode=semantic
  &from=<now - 14d>
  &limit=20

Why these parameters

Broad standing topics produce continuous coverage, most of it commentary. Semantic mode with several concrete concepts in the query pulls toward reporting and away from opinion, and a two-week window smooths the daily noise without losing developments.

The obvious approach, and why it loses

The obvious approach is a single broad term — climate, or energy transition — and it returns an unreadable stream in which commentary outnumbers reporting several times over. The instinct that follows is to add negative constraints, excluding opinion sections and named columnists, which helps a little and breaks whenever a publisher reorganises its site. Several concrete concepts in one semantic query does the same job structurally: grid capacity, emissions targets, renewables policy are the vocabulary of reporting rather than of argument, so the retrieval is pulled toward pieces that carry figures and decisions without anything having to be excluded by name.

When it returns too much, or too little

Too much on this subject almost always means the concepts in the query are too abstract. Replace one of them with something that only appears in reporting — an instrument, a capacity unit, a named policy mechanism — and the balance shifts without narrowing the topic. Too little usually means the window is too short rather than the query too tight: this is a subject where a fortnight is the natural unit and a day is mostly noise. If you need the regulatory layer rather than the public conversation, no amount of tuning gets you there from here; constrain to the trade outlets that cover the process, or work from filings, and use this recipe alongside it rather than instead of it.

How you would know it is working

The failure mode to test for is not noise but a blind spot, so test recall on the narrow end. Pick five technical or regulatory developments from the last quarter that mattered to you and check how many this query would have surfaced. Expect it to miss some; the point is to learn which kind it misses, because that tells you what the second query has to cover. On the noise side, sample twenty items and count how many carry a number, a decision or a named actor. That ratio is a better health metric than volume, and it degrades slowly enough that you will not notice it without measuring.

When this is the wrong tool

A standing broad query is a poor instrument for anything you need to be complete about. Semantic matching over a two-week window will reliably surface the developments a general reader would recognise and will miss narrow technical or regulatory items that never acquired general coverage — which on this subject is where most of the actual decisions are. If you need the regulatory process rather than the public conversation, this is the wrong recipe and a filing-based or outlet-constrained approach is the right one. Treat the output as a way to stay oriented rather than as a monitoring system with a defined recall.

Running it for real

Response fields, failure modes, adaptations and scheduling cost: Track a slow-moving topic without drowning in it, in the docs.

Related recipes