Azure AI Search services that served zero queries in 30 days
What does ZopNight detect here?
An Azure AI Search service bills per search unit around the clock, so zero queries means the full monthly charge is waste. ZopNight reads the SearchQueriesPerSecond metric over 30 days and flags the service only when average and peak are both exactly 0, recommending deletion.
Signal and threshold
| Field | Value |
|---|---|
| Rule IDs | RC-1398 |
| Category | idle |
| Severity | medium |
| Metric | none — pure configuration read |
| Source | search_idle.go |
Where it applies
Search units bill whether anyone searches or not
Azure AI Search is priced per search unit (replicas times partitions), and the meter runs continuously on Basic and Standard tiers. A service that answers no queries costs exactly as much as one under full load. That makes an unqueried service one of the cleaner finds in an Azure bill: there is no partial value to weigh, the whole charge is recoverable.
ZopNight prices the finding from the service’s calculated rack rate (hourly rate times unit count), so the recommendation carries the real monthly figure, not an estimate.
Exactly zero, not merely low
The rule reads a single Azure Monitor series, SearchQueriesPerSecond, across a 30-day window.
It fires only when both the average and the maximum are exactly 0. One query anywhere in the
window is treated as evidence of use, and the rule abstains.
That strictness is deliberate. Deleting a search service destroys its indexes, so the bar for recommending it is absolute silence, not a low-traffic judgement call.
Why the 1x1 floor is not exempt here
ZopNight has a separate over-provisioned rule for AI Search (RC-1396) that only looks at services above 1 search unit and recommends scaling toward the 1x1 floor. This idle rule deliberately fires at any unit count, including that single-unit floor the scaling rule ignores, because the right lever for a service with no callers is deletion, not a smaller replica count.
Pull the query series yourself
az monitor metrics list \ --resource "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.Search/searchServices/<name>" \ --metric SearchQueriesPerSecond \ --interval PT1H --offset 30d \ --aggregation Average MaximumEvery datapoint should be zero before you act.
Cases where the rule abstains
No recommendation is emitted when the metric series is absent (an Azure Monitor gap or a permissions problem is not evidence of idleness), when the series carries fewer than 7 days of history (a brand-new service naturally shows zero traffic), when any query registered, or when no positive monthly cost is known. ZopNight never emits a $0 finding here.
Before you delete
Export index definitions and any source data you would need to rebuild; a deleted search service cannot be recovered. Detection requires only the built-in Reader and Monitoring Reader roles; no write access is involved in flagging the service.