When a search has failed with a 500 response, for example, and is subsequently searched again, the failed result shows up in the UI, but the search is successfully re-processed in the background. Searching for a third time will immediately show the updated, successful result.
We are doing the right thing, re-executing the search, but need to show it as pending during the search and update the status when it resolves as either successful or failed.