Deleted objects stay some time in the index and cause an "Error - not found" in CrawlLog. After a period of time, those items get removed from the index and the errors disappear.
Delete Policy for Access Denied or Not Found:
There are two properties that govern the removal of items from the index;
ErrorDeleteIntervalAllowed. The first property controls how many times this item should log an error, the second is the time since the first error is encountered, if both conditions are met, then the item is removed from the index.
The default values are
ErrorDeleteCountAllowed: 10 and
ErrorDeleteIntervalAllowed is 240 hours. So by default an item would have to be not found ten times over a period of ten days before it is removed.
How to view or change these values?
$sa = Get-SPEnterpriseSearchServiceApplication
To view the settings for a property:
To set the property:
$sa.SetProperty("propertyname", new value)
Reference: Search Crawl Deletion Policies SharePoint 2013