SDK
SDK Java v2.x
1

updateSpecifications #

Update parts of a specification, by replacing some fields or adding new ones.
Note that you cannot remove fields this way: missing fields will simply be left unchanged.


updateSpecifications(content, [options], [callback]) #

Arguments Type Description
content JSON object Content of the specification to update
options JSON object Optional parameters
callback function Optional callback

Options #

Option Type Description Default
queuable boolean Make this request queuable or not true
refresh string If set to wait_for, Kuzzle will wait the persistence layer to finish indexing (available with Elasticsearch 5.x and above) undefined
retryOnConflict int Number of retries to attempt before rejecting this update because of a cluster sync conflict 0

Return Value #

Returns the Collection object to allow chaining.

Usage #

Copied to clipboard!
JSONObject fooField = new JSONObject()
  .put("mandatory", "true")
  .put("type", "string")
  .put("defaultValue", "bar");
JSONObject fields = new JSONObject()
  .put("foo", fooField);
JSONObject specifications = new JSONObject()
  .put("strict", "true")
  .put("fields", fields);
kuzzle
  .collection("collection", "index")
  .updateSpecifications(specifications, new ResponseListener<JSONObject>() {
    @Override
    public void onSuccess(JSONObject res) {
      // result is a JSONObject
    }
    @Override
    public void onError(JSONObject error) {
      // Handle error
    }
  });

Callback response

Copied to clipboard!
{
  "index": {
    "collection": {
      "strict": "true",
      "fields": {
        "foo": {
          "mandatory": "true",
          "type": "string",
          "defaultValue": "bar"
        }
      }
    }
  }
}