Get a [future] result for the specified search.
If the search is already in the cache, its existing future will be returned.
It may or may not have completed already. If the search is not in the cache, it
will be started on a new thread and added to the cache, then its future will be