public FutureResult search(Query query) {
        return getFutureResult(execution.context().executor(), () -> execution.search(query), query);
    }
Does an async search. Note that the query argument cannot simultaneously
be used to execute any other searches, a clone() must be made of the
query for each async execution if the same query is to be used in more
than one.

@see com.yahoo.search.searchchain.Execution
container-search/src/main/java/com/yahoo/search/searchchain/AsyncExecution.java