You have built intelligent, lightning-fast search experiences using the Dataverse Search APIs. But how do you ensure it keeps working? In this post, we will explore the Search Status and Statistics APIs your tools for maintaining healthy search experiences in Power Apps.
What Does Search Status Track?
Dataverse indexing is what powers full-text search. But if indexes fall behind, search becomes stale or broken.
The Statistics API helps you:
- Monitor index freshness for each table
- Detect tables that aren’t searchable
- Check for indexing errors
- Confirm when a recent schema or data change has been indexed
Sample Request
GET https://<env>.crm.dynamics.com/api/search/v1.0/statistics
Authorization: Bearer eyJ0eXAi…
Sample Response Breakdown
{
"value": [
{
"entityName": "account",
"isEnabledForSearch": true,
"lastUpdatedTime": "2024-06-21T16:10:00Z",
"documentCount": 5432,
"status": "Healthy"
},
{
"entityName": "lead",
"isEnabledForSearch": false,
"status": "Disabled"
}
]
}
Key Fields Explained
| Field | Description |
|---|---|
entityName | Logical name of the table |
isEnabledForSearch | Whether full-text search is enabled |
lastUpdatedTime | Last time indexing occurred |
documentCount | Total indexed records |
status | Overall health (Healthy, Disabled, Error) |
Common Scenarios
1. Schema or Data Change
You added a new column or table and want to ensure it’s searchable.
- Check if it’s indexed in the
statisticsAPI. - If not, make sure the field is searchable and wait for indexing to complete.
2. Missing Results
A user can’t find newly added data.
- Use
lastUpdatedTimeto verify indexing has caught up.
3. Troubleshooting Search Bugs
Compare documentCount to actual table row count are there gaps?
4. Index Health Audit
Run the statistics API across environments (dev, test, prod) to catch misconfigurations.
Best Practices
- Use search statistics in automated health checks
- Log
statusandlastUpdatedTimefor critical search tables - Trigger alerts if indexes are stale or disabled unexpectedly
