Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: elastic/elasticsearch-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v7.17.10
Choose a base ref
...
head repository: elastic/elasticsearch-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v7.17.11
Choose a head ref
  • 7 commits
  • 31 files changed
  • 3 contributors

Commits on Apr 26, 2023

  1. Copy the full SHA
    e3f4b1e View commit details

Commits on May 2, 2023

  1. Bumps 7.17 to 7.17.11

    elasticmachine authored and picandocodigo committed May 2, 2023
    Copy the full SHA
    6708eba View commit details

Commits on May 5, 2023

  1. Add buffered JsonData implementation for Jackson (#567) (#568)

    Co-authored-by: Sylvain Wallez <sylvain@elastic.co>
    github-actions[bot] and swallez authored May 5, 2023
    Copy the full SHA
    b92cce7 View commit details

Commits on May 22, 2023

  1. Speed up URL path encoding and remove dependency on httpclient (#576) (

    …#577)
    
    Co-authored-by: Sylvain Wallez <sylvain@elastic.co>
    github-actions[bot] and swallez authored May 22, 2023
    Copy the full SHA
    e2e2e67 View commit details

Commits on May 23, 2023

  1. Throw a TransportException when an error response cannot be parsed (#579

    ) (#580)
    
    Co-authored-by: Sylvain Wallez <sylvain@elastic.co>
    github-actions[bot] and swallez authored May 23, 2023
    Copy the full SHA
    2b22f0c View commit details

Commits on Jun 21, 2023

  1. Copy the full SHA
    e74f5c3 View commit details
  2. Copy the full SHA
    9869f76 View commit details
Showing with 857 additions and 160 deletions.
  1. +1 −1 config/version.txt
  2. +29 −2 java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngester.java
  3. +13 −8 java-client/src/main/java/co/elastic/clients/elasticsearch/_types/analysis/StemmerTokenFilter.java
  4. +19 −21 java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html
  5. +10 −8 java-client/src/main/java/co/elastic/clients/elasticsearch/security/HasPrivilegesRequest.java
  6. +10 −8 java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivileges.java
  7. +10 −8 java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleRequest.java
  8. +10 −8 java-client/src/main/java/co/elastic/clients/elasticsearch/security/UserIndicesPrivileges.java
  9. +10 −9 .../src/main/java/co/elastic/clients/elasticsearch/security/has_privileges/IndexPrivilegesCheck.java
  10. +45 −0 java-client/src/main/java/co/elastic/clients/elasticsearch/snapshot/RestoreRequest.java
  11. +32 −0 java-client/src/main/java/co/elastic/clients/json/BufferingJsonParser.java
  12. +33 −0 java-client/src/main/java/co/elastic/clients/json/JsonBuffer.java
  13. +12 −5 java-client/src/main/java/co/elastic/clients/json/JsonData.java
  14. +0 −10 java-client/src/main/java/co/elastic/clients/json/JsonDataImpl.java
  15. +7 −1 java-client/src/main/java/co/elastic/clients/json/JsonpUtils.java
  16. +102 −0 java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonBuffer.java
  17. +10 −11 java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonProvider.java
  18. +3 −4 java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonpMapper.java
  19. +35 −6 java-client/src/main/java/co/elastic/clients/json/jackson/JacksonJsonpParser.java
  20. +15 −5 java-client/src/main/java/co/elastic/clients/transport/TransportException.java
  21. +52 −4 java-client/src/main/java/co/elastic/clients/transport/endpoints/EndpointBase.java
  22. +0 −11 java-client/src/main/java/co/elastic/clients/transport/endpoints/SimpleEndpoint.java
  23. +15 −5 java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientTransport.java
  24. +1 −1 java-client/src/test/java/co/elastic/clients/elasticsearch/ElasticsearchTestServer.java
  25. +26 −0 java-client/src/test/java/co/elastic/clients/elasticsearch/_helpers/bulk/BulkIngesterTest.java
  26. +29 −8 java-client/src/test/java/co/elastic/clients/elasticsearch/model/ModelTestCase.java
  27. +41 −0 java-client/src/test/java/co/elastic/clients/elasticsearch/spec_issues/SpecIssuesTest.java
  28. +59 −12 java-client/src/test/java/co/elastic/clients/json/JsonDataTest.java
  29. +111 −4 java-client/src/test/java/co/elastic/clients/json/JsonpUtilsTest.java
  30. +75 −0 java-client/src/test/java/co/elastic/clients/transport/TransportTest.java
  31. +42 −0 java-client/src/test/java/co/elastic/clients/transport/endpoints/EndpointBaseTest.java
2 changes: 1 addition & 1 deletion config/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.17.10
7.17.11
Original file line number Diff line number Diff line change
@@ -426,36 +426,56 @@ public Builder<Context> client(ElasticsearchClient client) {
/**
* Sets when to flush a new bulk request based on the number of operations currently added. Defaults to
* {@code 1000}. Can be set to {@code -1} to disable it.
*
* @throws IllegalArgumentException if less than -1.
*/
public Builder<Context> maxOperations(int count) {
if (count < -1) {
throw new IllegalArgumentException("Max operations should be at least -1");
}
this.bulkOperations = count;
return this;
}

/**
* Sets when to flush a new bulk request based on the size in bytes of actions currently added. A request is sent
* once that size has been exceeded. Defaults to 5 megabytes. Can be set to {@code -1} to disable it.
*
* @throws IllegalArgumentException if less than -1.
*/
public Builder<Context> maxSize(long bytes) {
if (bytes < -1) {
throw new IllegalArgumentException("Max size should be at least -1");
}
this.bulkSize = bytes;
return this;
}

/**
* Sets the number of concurrent requests allowed to be executed. A value of 1 means 1 concurrent request is allowed to be executed
* Sets the number of concurrent requests allowed to be executed. A value of 1 means 1 request is allowed to be executed
* while accumulating new bulk requests. Defaults to {@code 1}.
*
* @throws IllegalArgumentException if less than 1.
*/
public Builder<Context> maxConcurrentRequests(int max) {
if (max < 1) {
throw new IllegalArgumentException("Max concurrent request should be at least 1");
}
this.maxConcurrentRequests = max;
return this;
}

/**
* Sets an interval flushing any bulk actions pending if the interval passes. Defaults to not set.
* <p>
* Flushing is still subject to the maximum number of requests set with {@link #maxConcurrentRequests}.
* Flushing is still subject to the maximum number of requests set with {@link #maxConcurrentRequests}.
*
* @throws IllegalArgumentException if not a positive duration.
*/
public Builder<Context> flushInterval(long value, TimeUnit unit) {
if (value < 0) {
throw new IllegalArgumentException("Duration should be positive");
}
this.flushIntervalMillis = unit.toMillis(value);
return this;
}
@@ -497,6 +517,13 @@ public Builder<Context> globalSettings(Function<BulkRequest.Builder, BulkRequest

@Override
public BulkIngester<Context> build() {
// Ensure some chunking criteria are defined
boolean hasCriteria = this.bulkOperations >= 0 || this.bulkSize >= 0 || this.flushIntervalMillis != null;

if (!hasCriteria) {
throw new IllegalStateException("No bulk operation chunking criteria have been set.");
}

return new BulkIngester<>(this);
}
}
Original file line number Diff line number Diff line change
@@ -28,7 +28,6 @@
import co.elastic.clients.json.JsonpMapper;
import co.elastic.clients.json.ObjectBuilderDeserializer;
import co.elastic.clients.json.ObjectDeserializer;
import co.elastic.clients.util.ApiTypeHelper;
import co.elastic.clients.util.ObjectBuilder;
import jakarta.json.stream.JsonGenerator;
import java.lang.String;
@@ -46,14 +45,15 @@
*/
@JsonpDeserializable
public class StemmerTokenFilter extends TokenFilterBase implements TokenFilterDefinitionVariant {
@Nullable
private final String language;

// ---------------------------------------------------------------------------------------------

private StemmerTokenFilter(Builder builder) {
super(builder);

this.language = ApiTypeHelper.requireNonNull(builder.language, this, "language");
this.language = builder.language;

}

@@ -70,8 +70,9 @@ public TokenFilterDefinition.Kind _tokenFilterDefinitionKind() {
}

/**
* Required - API name: {@code language}
* API name: {@code language}
*/
@Nullable
public final String language() {
return this.language;
}
@@ -80,8 +81,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {

generator.write("type", "stemmer");
super.serializeInternal(generator, mapper);
generator.writeKey("language");
generator.write(this.language);
if (this.language != null) {
generator.writeKey("language");
generator.write(this.language);

}

}

@@ -94,12 +98,13 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
public static class Builder extends TokenFilterBase.AbstractBuilder<Builder>
implements
ObjectBuilder<StemmerTokenFilter> {
@Nullable
private String language;

/**
* Required - API name: {@code language}
* API name: {@code language}
*/
public final Builder language(String value) {
public final Builder language(@Nullable String value) {
this.language = value;
return this;
}
@@ -132,7 +137,7 @@ public StemmerTokenFilter build() {

protected static void setupStemmerTokenFilterDeserializer(ObjectDeserializer<StemmerTokenFilter.Builder> op) {
TokenFilterBase.setupTokenFilterBaseDeserializer(op);
op.add(Builder::language, JsonpDeserializer.stringDeserializer(), "language");
op.add(Builder::language, JsonpDeserializer.stringDeserializer(), "language", "name");

op.ignore("type");
}
Original file line number Diff line number Diff line change
@@ -627,24 +627,24 @@
'_types.analysis.StandardAnalyzer': '_types/analysis/analyzers.ts#L95-L99',
'_types.analysis.StandardTokenizer': '_types/analysis/tokenizers.ts#L104-L107',
'_types.analysis.StemmerOverrideTokenFilter': '_types/analysis/token_filters.ts#L313-L317',
'_types.analysis.StemmerTokenFilter': '_types/analysis/token_filters.ts#L319-L322',
'_types.analysis.StemmerTokenFilter': '_types/analysis/token_filters.ts#L319-L323',
'_types.analysis.StopAnalyzer': '_types/analysis/analyzers.ts#L101-L106',
'_types.analysis.StopTokenFilter': '_types/analysis/token_filters.ts#L96-L102',
'_types.analysis.SynonymFormat': '_types/analysis/token_filters.ts#L104-L107',
'_types.analysis.SynonymGraphTokenFilter': '_types/analysis/token_filters.ts#L109-L118',
'_types.analysis.SynonymTokenFilter': '_types/analysis/token_filters.ts#L120-L129',
'_types.analysis.TokenChar': '_types/analysis/tokenizers.ts#L46-L53',
'_types.analysis.TokenFilter': '_types/analysis/token_filters.ts#L342-L344',
'_types.analysis.TokenFilter': '_types/analysis/token_filters.ts#L343-L345',
'_types.analysis.TokenFilterBase': '_types/analysis/token_filters.ts#L39-L41',
'_types.analysis.TokenFilterDefinition': '_types/analysis/token_filters.ts#L346-L399',
'_types.analysis.TokenFilterDefinition': '_types/analysis/token_filters.ts#L347-L400',
'_types.analysis.Tokenizer': '_types/analysis/tokenizers.ts#L119-L121',
'_types.analysis.TokenizerBase': '_types/analysis/tokenizers.ts#L26-L28',
'_types.analysis.TokenizerDefinition': '_types/analysis/tokenizers.ts#L123-L141',
'_types.analysis.TrimTokenFilter': '_types/analysis/token_filters.ts#L324-L326',
'_types.analysis.TruncateTokenFilter': '_types/analysis/token_filters.ts#L328-L331',
'_types.analysis.TrimTokenFilter': '_types/analysis/token_filters.ts#L325-L327',
'_types.analysis.TruncateTokenFilter': '_types/analysis/token_filters.ts#L329-L332',
'_types.analysis.UaxEmailUrlTokenizer': '_types/analysis/tokenizers.ts#L109-L112',
'_types.analysis.UniqueTokenFilter': '_types/analysis/token_filters.ts#L333-L336',
'_types.analysis.UppercaseTokenFilter': '_types/analysis/token_filters.ts#L338-L340',
'_types.analysis.UniqueTokenFilter': '_types/analysis/token_filters.ts#L334-L337',
'_types.analysis.UppercaseTokenFilter': '_types/analysis/token_filters.ts#L339-L341',
'_types.analysis.WhitespaceAnalyzer': '_types/analysis/analyzers.ts#L108-L111',
'_types.analysis.WhitespaceTokenizer': '_types/analysis/tokenizers.ts#L114-L117',
'_types.analysis.WordDelimiterGraphTokenFilter': '_types/analysis/token_filters.ts#L148-L165',
@@ -720,7 +720,7 @@
'_types.mapping.TextIndexPrefixes': '_types/mapping/core.ts#L279-L282',
'_types.mapping.TextProperty': '_types/mapping/core.ts#L284-L300',
'_types.mapping.TokenCountProperty': '_types/mapping/specialized.ts#L70-L77',
'_types.mapping.TypeMapping': '_types/mapping/TypeMapping.ts#L34-L53',
'_types.mapping.TypeMapping': '_types/mapping/TypeMapping.ts#L34-L51',
'_types.mapping.UnsignedLongNumberProperty': '_types/mapping/core.ts#L191-L194',
'_types.mapping.VersionProperty': '_types/mapping/core.ts#L302-L304',
'_types.mapping.WildcardProperty': '_types/mapping/core.ts#L306-L310',
@@ -1896,27 +1896,25 @@
'searchable_snapshots.mount.Response': 'searchable_snapshots/mount/SearchableSnapshotsMountResponse.ts#L22-L26',
'searchable_snapshots.stats.Request': 'searchable_snapshots/stats/SearchableSnapshotsStatsRequest.ts#L24-L36',
'searchable_snapshots.stats.Response': 'searchable_snapshots/stats/SearchableSnapshotsStatsResponse.ts#L22-L27',
'security._types.ApplicationGlobalUserPrivileges': 'security/_types/Privileges.ts#L190-L192',
'security._types.ApplicationGlobalUserPrivileges': 'security/_types/Privileges.ts#L192-L194',
'security._types.ApplicationPrivileges': 'security/_types/Privileges.ts#L26-L39',
'security._types.ClusterNode': 'security/_types/ClusterNode.ts#L22-L24',
'security._types.ClusterPrivilege': 'security/_types/Privileges.ts#L41-L78',
'security._types.CreatedStatus': 'security/_types/CreatedStatus.ts#L20-L22',
'security._types.FieldRule': 'security/_types/RoleMappingRule.ts#L33-L42',
'security._types.FieldSecurity': 'security/_types/FieldSecurity.ts#L22-L25',
'security._types.GlobalPrivilege': 'security/_types/Privileges.ts#L186-L188',
'security._types.IndexPrivilege': 'security/_types/Privileges.ts#L164-L184',
'security._types.IndicesPrivileges': 'security/_types/Privileges.ts#L80-L103',
'security._types.ManageUserPrivileges': 'security/_types/Privileges.ts#L194-L196',
'security._types.GlobalPrivilege': 'security/_types/Privileges.ts#L188-L190',
'security._types.IndicesPrivileges': 'security/_types/Privileges.ts#L81-L104',
'security._types.ManageUserPrivileges': 'security/_types/Privileges.ts#L196-L198',
'security._types.Realm': 'security/_types/RoleMappingRule.ts#L44-L46',
'security._types.RealmInfo': 'security/_types/RealmInfo.ts#L22-L25',
'security._types.RoleMapping': 'security/_types/RoleMapping.ts#L25-L31',
'security._types.RoleMappingRule': 'security/_types/RoleMappingRule.ts#L23-L31',
'security._types.RoleTemplateInlineQuery': 'security/_types/Privileges.ts#L158-L159',
'security._types.RoleTemplateInlineScript': 'security/_types/Privileges.ts#L151-L156',
'security._types.RoleTemplateScript': 'security/_types/Privileges.ts#L161-L162',
'security._types.RoleTemplateInlineQuery': 'security/_types/Privileges.ts#L159-L160',
'security._types.RoleTemplateInlineScript': 'security/_types/Privileges.ts#L152-L157',
'security._types.RoleTemplateScript': 'security/_types/Privileges.ts#L162-L163',
'security._types.TransientMetadataConfig': 'security/_types/TransientMetadataConfig.ts#L20-L22',
'security._types.User': 'security/_types/User.ts#L22-L29',
'security._types.UserIndicesPrivileges': 'security/_types/Privileges.ts#L105-L127',
'security._types.UserIndicesPrivileges': 'security/_types/Privileges.ts#L106-L128',
'security.authenticate.ApiKey': 'security/authenticate/types.ts#L28-L31',
'security.authenticate.Request': 'security/authenticate/SecurityAuthenticateRequest.ts#L22-L28',
'security.authenticate.Response': 'security/authenticate/SecurityAuthenticateResponse.ts#L24-L39',
@@ -2077,7 +2075,7 @@
'snapshot.get.SnapshotResponseItem': 'snapshot/get/SnapshotGetResponse.ts#L42-L46',
'snapshot.get_repository.Request': 'snapshot/get_repository/SnapshotGetRepositoryRequest.ts#L24-L38',
'snapshot.get_repository.Response': 'snapshot/get_repository/SnapshotGetRepositoryResponse.ts#L23-L23',
'snapshot.restore.Request': 'snapshot/restore/SnapshotRestoreRequest.ts#L25-L50',
'snapshot.restore.Request': 'snapshot/restore/SnapshotRestoreRequest.ts#L25-L51',
'snapshot.restore.Response': 'snapshot/restore/SnapshotRestoreResponse.ts#L23-L25',
'snapshot.restore.SnapshotRestore': 'snapshot/restore/SnapshotRestoreResponse.ts#L27-L31',
'snapshot.status.Request': 'snapshot/status/SnapshotStatusRequest.ts#L24-L38',
@@ -2319,10 +2317,10 @@
if (hash.length > 1) {
hash = hash.substring(1);
}
window.location = "https://github.com/elastic/elasticsearch-specification/tree/f59a1bdac170fc6fe0ca644b3e4ded3e081e32ae/specification/" + (paths[hash] || "");
window.location = "https://github.com/elastic/elasticsearch-specification/tree/3f7a4959ff4ed2023c554e3a138de270f7e6c2a7/specification/" + (paths[hash] || "");
</script>
</head>
<body>
Please see the <a href="https://github.com/elastic/elasticsearch-specification/tree/f59a1bdac170fc6fe0ca644b3e4ded3e081e32ae/specification/">Elasticsearch API specification</a>.
Please see the <a href="https://github.com/elastic/elasticsearch-specification/tree/3f7a4959ff4ed2023c554e3a138de270f7e6c2a7/specification/">Elasticsearch API specification</a>.
</body>
</html>
Original file line number Diff line number Diff line change
@@ -57,7 +57,7 @@
public class HasPrivilegesRequest extends RequestBase implements JsonpSerializable {
private final List<ApplicationPrivilegesCheck> application;

private final List<ClusterPrivilege> cluster;
private final List<String> cluster;

private final List<IndexPrivilegesCheck> index;

@@ -89,7 +89,7 @@ public final List<ApplicationPrivilegesCheck> application() {
/**
* API name: {@code cluster}
*/
public final List<ClusterPrivilege> cluster() {
public final List<String> cluster() {
return this.cluster;
}

@@ -134,8 +134,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
if (ApiTypeHelper.isDefined(this.cluster)) {
generator.writeKey("cluster");
generator.writeStartArray();
for (ClusterPrivilege item0 : this.cluster) {
item0.serialize(generator, mapper);
for (String item0 : this.cluster) {
generator.write(item0);

}
generator.writeEnd();

@@ -166,7 +167,7 @@ public static class Builder extends RequestBase.AbstractBuilder<Builder>
private List<ApplicationPrivilegesCheck> application;

@Nullable
private List<ClusterPrivilege> cluster;
private List<String> cluster;

@Nullable
private List<IndexPrivilegesCheck> index;
@@ -209,7 +210,7 @@ public final Builder application(
* <p>
* Adds all elements of <code>list</code> to <code>cluster</code>.
*/
public final Builder cluster(List<ClusterPrivilege> list) {
public final Builder cluster(List<String> list) {
this.cluster = _listAddAll(this.cluster, list);
return this;
}
@@ -219,7 +220,7 @@ public final Builder cluster(List<ClusterPrivilege> list) {
* <p>
* Adds one or more values to <code>cluster</code>.
*/
public final Builder cluster(ClusterPrivilege value, ClusterPrivilege... values) {
public final Builder cluster(String value, String... values) {
this.cluster = _listAdd(this.cluster, value, values);
return this;
}
@@ -293,7 +294,8 @@ protected static void setupHasPrivilegesRequestDeserializer(ObjectDeserializer<H

op.add(Builder::application, JsonpDeserializer.arrayDeserializer(ApplicationPrivilegesCheck._DESERIALIZER),
"application");
op.add(Builder::cluster, JsonpDeserializer.arrayDeserializer(ClusterPrivilege._DESERIALIZER), "cluster");
op.add(Builder::cluster, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()),
"cluster");
op.add(Builder::index, JsonpDeserializer.arrayDeserializer(IndexPrivilegesCheck._DESERIALIZER), "index");

}
Original file line number Diff line number Diff line change
@@ -56,7 +56,7 @@ public class IndicesPrivileges implements JsonpSerializable {

private final List<String> names;

private final List<IndexPrivilege> privileges;
private final List<String> privileges;

@Nullable
private final Query query;
@@ -105,7 +105,7 @@ public final List<String> names() {
* <p>
* API name: {@code privileges}
*/
public final List<IndexPrivilege> privileges() {
public final List<String> privileges() {
return this.privileges;
}

@@ -172,8 +172,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
if (ApiTypeHelper.isDefined(this.privileges)) {
generator.writeKey("privileges");
generator.writeStartArray();
for (IndexPrivilege item0 : this.privileges) {
item0.serialize(generator, mapper);
for (String item0 : this.privileges) {
generator.write(item0);

}
generator.writeEnd();

@@ -208,7 +209,7 @@ public static class Builder extends WithJsonObjectBuilderBase<Builder> implement

private List<String> names;

private List<IndexPrivilege> privileges;
private List<String> privileges;

@Nullable
private Query query;
@@ -285,7 +286,7 @@ public final Builder names(String value, String... values) {
* <p>
* Adds all elements of <code>list</code> to <code>privileges</code>.
*/
public final Builder privileges(List<IndexPrivilege> list) {
public final Builder privileges(List<String> list) {
this.privileges = _listAddAll(this.privileges, list);
return this;
}
@@ -298,7 +299,7 @@ public final Builder privileges(List<IndexPrivilege> list) {
* <p>
* Adds one or more values to <code>privileges</code>.
*/
public final Builder privileges(IndexPrivilege value, IndexPrivilege... values) {
public final Builder privileges(String value, String... values) {
this.privileges = _listAdd(this.privileges, value, values);
return this;
}
@@ -376,7 +377,8 @@ protected static void setupIndicesPrivilegesDeserializer(ObjectDeserializer<Indi
op.add(Builder::fieldSecurity, JsonpDeserializer.arrayDeserializer(FieldSecurity._DESERIALIZER),
"field_security");
op.add(Builder::names, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "names");
op.add(Builder::privileges, JsonpDeserializer.arrayDeserializer(IndexPrivilege._DESERIALIZER), "privileges");
op.add(Builder::privileges, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()),
"privileges");
op.add(Builder::query, JsonpDeserializer.jsonString(Query._DESERIALIZER), "query");
op.add(Builder::allowRestrictedIndices, JsonpDeserializer.booleanDeserializer(), "allow_restricted_indices");

Loading