algoliasearch/src/main/java/com/algolia/search/saas/Index.java
@Override
    public Request searchDisjunctiveFacetingAsync(@NonNull Query query, @NonNull final Collection<String> disjunctiveFacets, @NonNull final Map<String, ? extends Collection<String>> refinements, @Nullable final RequestOptions requestOptions, @NonNull final CompletionHandler completionHandler) {
        return new DisjunctiveFaceting() {
            @Override
            protected Request multipleQueriesAsync(@NonNull Collection<Query> queries, @Nullable CompletionHandler completionHandler) {
                return Index.this.multipleQueriesAsync(queries, null, requestOptions, completionHandler);
            }
        }.searchDisjunctiveFacetingAsync(query, disjunctiveFacets, refinements, completionHandler);
    }
@Override
    public Request searchDisjunctiveFacetingAsync(@NonNull Query query, @NonNull final Collection<String> disjunctiveFacets, @NonNull final Map<String, ? extends Collection<String>> refinements, @Nullable final RequestOptions requestOptions, @NonNull final CompletionHandler completionHandler) {
        return new DisjunctiveFaceting() {
            @Override
            protected Request multipleQueriesAsync(@NonNull Collection<Query> queries, @Nullable CompletionHandler completionHandler) {
                return Index.this.multipleQueriesAsync(queries, null, requestOptions, completionHandler);
            }
        }.searchDisjunctiveFacetingAsync(query, disjunctiveFacets, refinements, completionHandler);
    }
@ Override public Request searchDisjunctiveFacetingAsync ( @ NonNull Query query , @ NonNull final Collection < String > disjunctiveFacets , @ NonNull final Map < String , ? extends Collection < String > > refinements , @ Nullable final RequestOptions requestOptions , @ NonNull final CompletionHandler completionHandler ) { return new DisjunctiveFaceting ( ) { @ Override protected Request multipleQueriesAsync ( @ NonNull Collection < Query > queries , @ Nullable CompletionHandler completionHandler ) { return Index . this . multipleQueriesAsync ( queries , null , requestOptions , completionHandler ) ; } } . searchDisjunctiveFacetingAsync ( query , disjunctiveFacets , refinements , completionHandler ) ; }
Perform a search with disjunctive facets, generating as many queries as number of disjunctive facets (helper).

@param query             The query.
@param disjunctiveFacets List of disjunctive facets.
@param refinements       The current refinements, mapping facet names to a list of values.
@param requestOptions    Request-specific options.
@param completionHandler The listener that will be notified of the request's outcome.
@return A cancellable request.
Perform a search with disjunctive facets generating as many queries as number of disjunctive facets ( helper ) .