Hi Scott,
2 things can cause this:
1. Eventual consistency
The count service is an insanely high throughput service, while search is lower throughput - they have different backends, and a messaging bus keeps them in sync. Because of this there is often a short period (up to 1 hr but normally < 5 mins) where they can differ during indexing runs. Issues can creep in and they drift and occasionally we rebuild the count service. The search service is always the correct one.
2. Geospatial issues
The isGeoreferenced only counts records with coordinates and no known geospatial issues - i.e. records we’d consider suitable for using the coordinates.
In this case it is 2. that provides the difference, and the search service should be using the &hasGeospatialIssue parameter.
Both report 4515 records.
I hope this helps - please feel free to quote me verbatim on the issue.
Cheers,
Tim