SDK
SDK Java v3.x
2

This SDK is deprecated. We recommend to use the Kuzzle SDK-JVM.
A migration guide is available here

updateByQuery #

Updates documents matching the provided search query.

Kuzzle uses the ElasticSearch Query DSL syntax.

An empty or null query will match all documents in the collection.


  public CompletableFuture<ConcurrentHashMap<String, ArrayList<Object>>> updateByQuery(
      final String index,
      final String collection,
      final ConcurrentHashMap<String, Object> searchQuery,
      final ConcurrentHashMap<String, Object> changes) throws NotConnectedException, InternalException

  public CompletableFuture<ConcurrentHashMap<String, ArrayList<Object>>> updateByQuery(
      final String index,
      final String collection,
      final ConcurrentHashMap<String, Object> searchQuery,
      final ConcurrentHashMap<String, Object> changes,
      final UpdateOptions options) throws NotConnectedException, InternalException
ArgumentTypeDescription
index
String
Index name
collection
String
Collection name
searchQuery
ConcurrentHashMap<String, Object>
Query to match
changes
ConcurrentHashMap<String, Object>
Partial changes to apply to the documents
options
UpdateOptions

(null)
Optional parameters

options #

A UpdateOptions object.

The following options can be set:

ArgumentsTypeDescription
waitForRefresh
Boolean
If set to true, Kuzzle will wait for the persistence layer to finish indexing
source
Boolean
If true, returns the updated document inside the response

Returns #

A ConcurrentHashMap<String, ArrayList<Object>> which has a successes and errors ArrayList<Object>: Each updated document is an object of the successes array with the following properties:

PropertyTypeDescription
_source
ConcurrentHashMap<String, Object>
Updated document (if source option set to true)
_id
String
ID of the udated document
_version
Integer
Version of the document in the persistent data storage
status
Integer
HTTP status code

Each errored document is an object of the errors array with the following properties:

PropertyTypeDescription
document
ConcurrentHashMap<String, Object>
Document that causes the error
status
Integer
HTTP error status
reason
String
Human readable reason

Usage #

ConcurrentHashMap<String, Object> searchQuery = new ConcurrentHashMap<>();
ConcurrentHashMap<String, Object> match = new ConcurrentHashMap<>();
match.put("capacity", 4);
searchQuery.put("match", match);
ConcurrentHashMap<String, Object> changes = new ConcurrentHashMap<>();
changes.put("capacity", 42);
ConcurrentHashMap<String, ArrayList<Object>> result = kuzzle
  .getDocumentController()
  .updateByQuery("nyc-open-data", "yellow-taxi", searchQuery, changes)
  .get();
/*
{
  successes=[
    {
      _id=<document-id>,
      _source=<updated document> // if source set to true
      status=200
    },
    {
      _id=<document id>,
      _source=<updated document> // if source set to true
      status=200
    }
           ],
   errors=[]
 }
 */