@Test public void searchDisjunctiveFacetingAsync() throws Exception { JSONObject setSettingsResult = index.setSettings(new JSONObject("{\"attributesForFaceting\": [\"brand\", \"category\"]}"), false, null); index.waitTask(setSettingsResult.getString("taskID")); index.searchDisjunctiveFacetingAsync(new Query(), new ArrayList<String>(), new HashMap<String, List<String>>(), new AssertCompletionHandler() { @Override public void doRequestCompleted(JSONObject content, AlgoliaException error) { if (error == null) { assertEquals("Result length does not match nbHits", objects.size(), content.optInt("nbHits")); } else { fail(error.getMessage()); } } }); objects = new ArrayList<>(); objects.add(new JSONObject("{\"name\": \"iPhone 6\", \"brand\": \"Apple\", \"category\": \"device\",\"stars\":4}")); objects.add(new JSONObject("{\"name\": \"iPhone 6 Plus\", \"brand\": \"Apple\", \"category\": \"device\",\"stars\":5}")); objects.add(new JSONObject("{\"name\": \"iPhone cover\", \"brand\": \"Apple\", \"category\": \"accessory\",\"stars\":3}")); objects.add(new JSONObject("{\"name\": \"Galaxy S5\", \"brand\": \"Samsung\", \"category\": \"device\",\"stars\":4}")); objects.add(new JSONObject("{\"name\": \"Wonder Phone\", \"brand\": \"Samsung\", \"category\": \"device\",\"stars\":5}")); objects.add(new JSONObject("{\"name\": \"Platinum Phone Cover\", \"brand\": \"Samsung\", \"category\": \"accessory\",\"stars\":2}")); objects.add(new JSONObject("{\"name\": \"Lame Phone\", \"brand\": \"Whatever\", \"category\": \"device\",\"stars\":1}")); objects.add(new JSONObject("{\"name\": \"Lame Phone cover\", \"brand\": \"Whatever\", \"category\": \"accessory\",\"stars\":1}")); objects.add(new JSONObject("{\"name\": \"Symbols Phone\", \"brand\": \"Commas' voice, Ltd\", \"category\": \"device\",\"stars\":2}")); JSONObject task = index.addObjects(new JSONArray(objects), null); index.waitTask(task.getString("taskID")); final Query query = new Query("phone").setFacets("brand", "category", "stars"); final List<String> disjunctiveFacets = Collections.singletonList("brand"); final Map<String, List<String>> refinements = new HashMap<>(); refinements.put("brand", Arrays.asList("Apple", "Samsung", "Commas' voice, Ltd")); refinements.put("category", Collections.singletonList("device")); index.searchDisjunctiveFacetingAsync(query, disjunctiveFacets, refinements, new AssertCompletionHandler() { @Override public void doRequestCompleted(JSONObject content, AlgoliaException error) { if (error != null) { fail(error.getMessage()); } else { assertEquals(4, content.optInt("nbHits")); JSONObject disjunctiveFacetsResult = content.optJSONObject("disjunctiveFacets"); assertNotNull(disjunctiveFacetsResult); JSONObject brandFacetCounts = disjunctiveFacetsResult.optJSONObject("brand"); assertNotNull(brandFacetCounts); assertEquals(2, brandFacetCounts.optInt("Apple")); assertEquals(1, brandFacetCounts.optInt("Samsung")); assertEquals(1, brandFacetCounts.optInt("Whatever")); assertEquals(1, brandFacetCounts.optInt("Commas' voice, Ltd")); } } }); }
@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); }
Index extends Searchable { @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); } }
Index extends Searchable { @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); } protected  Index(@NonNull Client client, @NonNull String rawIndexName); }
Index extends Searchable { @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); } protected  Index(@NonNull Client client, @NonNull String rawIndexName); @Override String toString(); String getRawIndexName(); Client getClient(); Request searchAsync(@Nullable Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); JSONObject searchSync(@Nullable Query query, @Nullable RequestOptions requestOptions); JSONObject searchSync(@Nullable Query query); Request multipleQueriesAsync(final @NonNull Collection<Query> queries, final Client.MultipleQueriesStrategy strategy, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request multipleQueriesAsync(final @NonNull Collection<Query> queries, final Client.MultipleQueriesStrategy strategy, @Nullable CompletionHandler completionHandler); @Override 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); Request searchDisjunctiveFacetingAsync(@NonNull Query query, @NonNull final Collection<String> disjunctiveFacets, @NonNull final Map<String, ? extends Collection<String>> refinements, @NonNull final CompletionHandler completionHandler); Request searchForFacetValuesAsync(@NonNull String facetName, @NonNull String text, @NonNull final CompletionHandler handler); Request searchForFacetValues(@NonNull String facetName, @NonNull String text, @NonNull final CompletionHandler handler); Request searchForFacetValuesAsync(@NonNull String facetName, @NonNull String facetText, @Nullable Query query, @NonNull final CompletionHandler handler); @Override Request searchForFacetValuesAsync(@NonNull String facetName, @NonNull String facetText, @Nullable Query query, @Nullable final RequestOptions requestOptions, @NonNull final CompletionHandler handler); Request searchForFacetValues(@NonNull String facetName, @NonNull String facetText, @Nullable Query query, @NonNull final CompletionHandler handler); Request addObjectAsync(final @NonNull JSONObject object, @Nullable CompletionHandler completionHandler); Request addObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request addObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request addObjectsAsync(final @NonNull JSONArray objects, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request addObjectsAsync(final @NonNull JSONArray objects, @Nullable CompletionHandler completionHandler); Request saveObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request saveObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request saveObjectsAsync(final @NonNull JSONArray objects, @Nullable CompletionHandler completionHandler); Request saveObjectsAsync(final @NonNull JSONArray objects, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectAsync(final @NonNull JSONObject partialObject, final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectAsync(final @NonNull JSONObject partialObject, final @NonNull String objectID, final boolean createIfNotExists, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectAsync(final @NonNull JSONObject partialObject, final @NonNull String objectID, final boolean createIfNotExists, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectsAsync(final @NonNull JSONArray partialObjects, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectsAsync(final @NonNull JSONArray partialObjects, final boolean createIfNotExists, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectsAsync(final @NonNull JSONArray partialObjects, final boolean createIfNotExists, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request getObjectAsync(final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request getObjectAsync(final @NonNull String objectID, final Collection<String> attributesToRetrieve, @Nullable CompletionHandler completionHandler); Request getObjectAsync(final @NonNull String objectID, final Collection<String> attributesToRetrieve, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, final List<String> attributesToRetrieve, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, final Collection<String> attributesToRetrieve, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request waitTaskAsync(final @NonNull String taskID, @Nullable CompletionHandler completionHandler); Request waitTaskAsync(final long taskID, @Nullable CompletionHandler completionHandler); Request deleteObjectAsync(final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request deleteObjectAsync(final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable CompletionHandler completionHandler); Request deleteObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteByQueryAsync(@NonNull Query query, @Nullable CompletionHandler completionHandler); Request deleteByQueryAsync(@NonNull Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteByAsync(@NonNull Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteByAsync(@NonNull Query query, @Nullable CompletionHandler completionHandler); Request getSettingsAsync(@Nullable CompletionHandler completionHandler); Request getSettingsAsync(@Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request setSettingsAsync(final @NonNull JSONObject settings, @Nullable CompletionHandler completionHandler); Request setSettingsAsync(final @NonNull JSONObject settings, final boolean forwardToReplicas, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request browseAsync(@NonNull Query query, @Nullable CompletionHandler completionHandler); Request browseAsync(@NonNull Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request browseFromAsync(final @NonNull String cursor, @Nullable CompletionHandler completionHandler); Request browseFromAsync(final @NonNull String cursor, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request clearIndexAsync(@Nullable CompletionHandler completionHandler); Request clearIndexAsync(@Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); void enableSearchCache(); void enableSearchCache(int timeoutInSeconds, int maxRequests); void disableSearchCache(); void clearSearchCache(); JSONObject addObject(JSONObject obj, @Nullable RequestOptions requestOptions); JSONObject addObject(JSONObject obj, String objectID, @Nullable RequestOptions requestOptions); JSONObject addObjects(JSONArray inputArray, @Nullable RequestOptions requestOptions); JSONObject getObject(String objectID, @Nullable RequestOptions requestOptions); JSONObject getObject(String objectID, Collection<String> attributesToRetrieve, @Nullable RequestOptions requestOptions); JSONObject getObjects(Collection<String> objectIDs); JSONObject getObjects(@NonNull Collection<String> objectIDs, @Nullable Collection<String> attributesToRetrieve, @Nullable RequestOptions requestOptions); JSONObject partialUpdateObject(JSONObject partialObject, String objectID, Boolean createIfNotExists, @Nullable RequestOptions requestOptions); JSONObject partialUpdateObjects(JSONArray inputArray, boolean createIfNotExists, @Nullable RequestOptions requestOptions); JSONObject saveObject(JSONObject object, String objectID, @Nullable RequestOptions requestOptions); JSONObject saveObjects(JSONArray inputArray, @Nullable RequestOptions requestOptions); JSONObject deleteObject(String objectID, @Nullable RequestOptions requestOptions); JSONObject deleteObjects(Collection<String> objects, @Nullable RequestOptions requestOptions); @Deprecated void deleteByQuery(@NonNull Query query, @Nullable RequestOptions requestOptions); JSONObject deleteBy(@NonNull Query query); JSONObject deleteBy(@NonNull Query query, RequestOptions requestOptions); JSONObject search(@Nullable Query query, @Nullable RequestOptions requestOptions); JSONObject waitTask(String taskID, long timeToWait); JSONObject waitTask(String taskID); JSONObject getSettings(@Nullable RequestOptions requestOptions); JSONObject getSettings(int formatVersion, @Nullable RequestOptions requestOptions); JSONObject setSettings(JSONObject settings); JSONObject setSettings(JSONObject settings, boolean forwardToReplicas, @Nullable RequestOptions requestOptions); JSONObject clearIndex(@Nullable RequestOptions requestOptions); }
Index extends Searchable { @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); } protected  Index(@NonNull Client client, @NonNull String rawIndexName); @Override String toString(); String getRawIndexName(); Client getClient(); Request searchAsync(@Nullable Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); JSONObject searchSync(@Nullable Query query, @Nullable RequestOptions requestOptions); JSONObject searchSync(@Nullable Query query); Request multipleQueriesAsync(final @NonNull Collection<Query> queries, final Client.MultipleQueriesStrategy strategy, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request multipleQueriesAsync(final @NonNull Collection<Query> queries, final Client.MultipleQueriesStrategy strategy, @Nullable CompletionHandler completionHandler); @Override 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); Request searchDisjunctiveFacetingAsync(@NonNull Query query, @NonNull final Collection<String> disjunctiveFacets, @NonNull final Map<String, ? extends Collection<String>> refinements, @NonNull final CompletionHandler completionHandler); Request searchForFacetValuesAsync(@NonNull String facetName, @NonNull String text, @NonNull final CompletionHandler handler); Request searchForFacetValues(@NonNull String facetName, @NonNull String text, @NonNull final CompletionHandler handler); Request searchForFacetValuesAsync(@NonNull String facetName, @NonNull String facetText, @Nullable Query query, @NonNull final CompletionHandler handler); @Override Request searchForFacetValuesAsync(@NonNull String facetName, @NonNull String facetText, @Nullable Query query, @Nullable final RequestOptions requestOptions, @NonNull final CompletionHandler handler); Request searchForFacetValues(@NonNull String facetName, @NonNull String facetText, @Nullable Query query, @NonNull final CompletionHandler handler); Request addObjectAsync(final @NonNull JSONObject object, @Nullable CompletionHandler completionHandler); Request addObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request addObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request addObjectsAsync(final @NonNull JSONArray objects, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request addObjectsAsync(final @NonNull JSONArray objects, @Nullable CompletionHandler completionHandler); Request saveObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request saveObjectAsync(final @NonNull JSONObject object, final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request saveObjectsAsync(final @NonNull JSONArray objects, @Nullable CompletionHandler completionHandler); Request saveObjectsAsync(final @NonNull JSONArray objects, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectAsync(final @NonNull JSONObject partialObject, final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectAsync(final @NonNull JSONObject partialObject, final @NonNull String objectID, final boolean createIfNotExists, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectAsync(final @NonNull JSONObject partialObject, final @NonNull String objectID, final boolean createIfNotExists, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectsAsync(final @NonNull JSONArray partialObjects, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectsAsync(final @NonNull JSONArray partialObjects, final boolean createIfNotExists, @Nullable CompletionHandler completionHandler); Request partialUpdateObjectsAsync(final @NonNull JSONArray partialObjects, final boolean createIfNotExists, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request getObjectAsync(final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request getObjectAsync(final @NonNull String objectID, final Collection<String> attributesToRetrieve, @Nullable CompletionHandler completionHandler); Request getObjectAsync(final @NonNull String objectID, final Collection<String> attributesToRetrieve, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, final List<String> attributesToRetrieve, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request getObjectsAsync(final @NonNull Collection<String> objectIDs, final Collection<String> attributesToRetrieve, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request waitTaskAsync(final @NonNull String taskID, @Nullable CompletionHandler completionHandler); Request waitTaskAsync(final long taskID, @Nullable CompletionHandler completionHandler); Request deleteObjectAsync(final @NonNull String objectID, @Nullable CompletionHandler completionHandler); Request deleteObjectAsync(final @NonNull String objectID, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable CompletionHandler completionHandler); Request deleteObjectsAsync(final @NonNull Collection<String> objectIDs, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteByQueryAsync(@NonNull Query query, @Nullable CompletionHandler completionHandler); Request deleteByQueryAsync(@NonNull Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteByAsync(@NonNull Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request deleteByAsync(@NonNull Query query, @Nullable CompletionHandler completionHandler); Request getSettingsAsync(@Nullable CompletionHandler completionHandler); Request getSettingsAsync(@Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request setSettingsAsync(final @NonNull JSONObject settings, @Nullable CompletionHandler completionHandler); Request setSettingsAsync(final @NonNull JSONObject settings, final boolean forwardToReplicas, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request browseAsync(@NonNull Query query, @Nullable CompletionHandler completionHandler); Request browseAsync(@NonNull Query query, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request browseFromAsync(final @NonNull String cursor, @Nullable CompletionHandler completionHandler); Request browseFromAsync(final @NonNull String cursor, @Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); Request clearIndexAsync(@Nullable CompletionHandler completionHandler); Request clearIndexAsync(@Nullable final RequestOptions requestOptions, @Nullable CompletionHandler completionHandler); void enableSearchCache(); void enableSearchCache(int timeoutInSeconds, int maxRequests); void disableSearchCache(); void clearSearchCache(); JSONObject addObject(JSONObject obj, @Nullable RequestOptions requestOptions); JSONObject addObject(JSONObject obj, String objectID, @Nullable RequestOptions requestOptions); JSONObject addObjects(JSONArray inputArray, @Nullable RequestOptions requestOptions); JSONObject getObject(String objectID, @Nullable RequestOptions requestOptions); JSONObject getObject(String objectID, Collection<String> attributesToRetrieve, @Nullable RequestOptions requestOptions); JSONObject getObjects(Collection<String> objectIDs); JSONObject getObjects(@NonNull Collection<String> objectIDs, @Nullable Collection<String> attributesToRetrieve, @Nullable RequestOptions requestOptions); JSONObject partialUpdateObject(JSONObject partialObject, String objectID, Boolean createIfNotExists, @Nullable RequestOptions requestOptions); JSONObject partialUpdateObjects(JSONArray inputArray, boolean createIfNotExists, @Nullable RequestOptions requestOptions); JSONObject saveObject(JSONObject object, String objectID, @Nullable RequestOptions requestOptions); JSONObject saveObjects(JSONArray inputArray, @Nullable RequestOptions requestOptions); JSONObject deleteObject(String objectID, @Nullable RequestOptions requestOptions); JSONObject deleteObjects(Collection<String> objects, @Nullable RequestOptions requestOptions); @Deprecated void deleteByQuery(@NonNull Query query, @Nullable RequestOptions requestOptions); JSONObject deleteBy(@NonNull Query query); JSONObject deleteBy(@NonNull Query query, RequestOptions requestOptions); JSONObject search(@Nullable Query query, @Nullable RequestOptions requestOptions); JSONObject waitTask(String taskID, long timeToWait); JSONObject waitTask(String taskID); JSONObject getSettings(@Nullable RequestOptions requestOptions); JSONObject getSettings(int formatVersion, @Nullable RequestOptions requestOptions); JSONObject setSettings(JSONObject settings); JSONObject setSettings(JSONObject settings, boolean forwardToReplicas, @Nullable RequestOptions requestOptions); JSONObject clearIndex(@Nullable RequestOptions requestOptions); static final int DEFAULT_SETTINGS_VERSION; }