algoliasearch/src/main/java/com/algolia/search/saas/Index.java
public Request searchAsync(@Nullable Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler) {
        final Query queryCopy = query != null ? new Query(query) : new Query();
        return getClient().new AsyncTaskRequest(completionHandler) {
            @NonNull
            @Override protected JSONObject run() throws AlgoliaException {
                return search(queryCopy, requestOptions);
            }
        }.start();
    }
public Request searchAsync(@Nullable Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler) {
        final Query queryCopy = query != null ? new Query(query) : new Query();
        return getClient().new AsyncTaskRequest(completionHandler) {
            @NonNull
            @Override protected JSONObject run() throws AlgoliaException {
                return search(queryCopy, requestOptions);
            }
        }.start();
    }
Searches inside this index (asynchronously).

@param query             Search parameters. May be null to use an empty query.
@param requestOptions    Request-specific options.
@param completionHandler The listener that will be notified of the request's outcome.
@return A cancellable request.