+ * Clear the search context and results for a scrolling search.
*
* @see Documentation
@@ -418,7 +420,9 @@ public CompletableFuture
+ * Clear the search context and results for a scrolling search.
*
* @param fn
* a function that initializes a builder to create the
@@ -434,7 +438,9 @@ public final CompletableFuture
+ * Clear the search context and results for a scrolling search.
*
* @see Documentation
@@ -449,7 +455,14 @@ public CompletableFuture
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * Get information about the capabilities of fields among multiple indices.
+ *
+ * For data streams, the API returns field capabilities among the stream’s
+ * backing indices. It returns runtime fields like any other field. For example,
+ * a runtime field with a type of keyword is returned the same as any other
+ * field that belongs to the
+ * Get information about the capabilities of fields among multiple indices.
+ *
+ * For data streams, the API returns field capabilities among the stream’s
+ * backing indices. It returns runtime fields like any other field. For example,
+ * a runtime field with a type of keyword is returned the same as any other
+ * field that belongs to the
+ * Get information about the capabilities of fields among multiple indices.
+ *
+ * For data streams, the API returns field capabilities among the stream’s
+ * backing indices. It returns runtime fields like any other field. For example,
+ * a runtime field with a type of keyword is returned the same as any other
+ * field that belongs to the
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @see Documentation
@@ -1237,7 +1281,22 @@ public
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @param fn
* a function that initializes a builder to create the
@@ -1253,7 +1312,22 @@ public final
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @see Documentation
@@ -1272,7 +1346,22 @@ public
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @param fn
* a function that initializes a builder to create the
@@ -1529,7 +1618,7 @@ public final
+ * A search request by default runs against the most recent visible data of the
+ * target indices, which is called point in time. Elasticsearch pit (point in
+ * time) is a lightweight view into the state of the data as it existed when
* initiated. In some cases, it’s preferred to perform multiple search requests
* using the same point in time. For example, if refreshes happen between
*
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * A search request by default runs against the most recent visible data of the
+ * target indices, which is called point in time. Elasticsearch pit (point in
+ * time) is a lightweight view into the state of the data as it existed when
* initiated. In some cases, it’s preferred to perform multiple search requests
* using the same point in time. For example, if refreshes happen between
*
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * Evaluate the quality of ranked search results over a set of typical search
+ * queries.
*
* @see Documentation
@@ -1777,8 +1880,10 @@ public CompletableFuture
+ * Evaluate the quality of ranked search results over a set of typical search
+ * queries.
*
* @param fn
* a function that initializes a builder to create the
@@ -1872,7 +1977,9 @@ public final CompletableFuture
+ * Render a search template as a search request body.
*
* @see Documentation
@@ -1887,7 +1994,9 @@ public CompletableFuture
+ * Render a search template as a search request body.
*
* @param fn
* a function that initializes a builder to create the
@@ -1903,7 +2012,9 @@ public final CompletableFuture
+ * Render a search template as a search request body.
*
* @see Documentation
@@ -2149,9 +2260,11 @@ public final
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Search a vector tile for geospatial values.
*
* @see Documentation
@@ -2241,7 +2362,9 @@ public CompletableFuture
+ * Search a vector tile for geospatial values.
*
* @param fn
* a function that initializes a builder to create the
@@ -2259,8 +2382,12 @@ public final CompletableFuture
+ * Get the indices and shards that a search request would be run against. This
+ * information can be useful for working out issues or planning optimizations
+ * with routing and shard preferences. When filtered aliases are used, the
+ * filter is returned as part of the indices section.
*
* @see Documentation
@@ -2275,8 +2402,12 @@ public CompletableFuture
+ * Get the indices and shards that a search request would be run against. This
+ * information can be useful for working out issues or planning optimizations
+ * with routing and shard preferences. When filtered aliases are used, the
+ * filter is returned as part of the indices section.
*
* @param fn
* a function that initializes a builder to create the
@@ -2292,8 +2423,12 @@ public final CompletableFuture
+ * Get the indices and shards that a search request would be run against. This
+ * information can be useful for working out issues or planning optimizations
+ * with routing and shard preferences. When filtered aliases are used, the
+ * filter is returned as part of the indices section.
*
* @see Documentation
@@ -2308,7 +2443,7 @@ public CompletableFuture
+ * Get information and statistics about terms in the fields of a particular
+ * document.
*
* @see Documentation
@@ -2456,8 +2593,10 @@ public
+ * Get information and statistics about terms in the fields of a particular
+ * document.
*
* @param fn
* a function that initializes a builder to create the
diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java
index c7d8262b8..8502c784c 100644
--- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java
+++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java
@@ -405,7 +405,9 @@ public BulkResponse bulk() throws IOException, ElasticsearchException {
// ----- Endpoint: clear_scroll
/**
- * Clears the search context and results for a scrolling search.
+ * Clear a scrolling search.
+ *
+ * Clear the search context and results for a scrolling search.
*
* @see Documentation
@@ -420,7 +422,9 @@ public ClearScrollResponse clearScroll(ClearScrollRequest request) throws IOExce
}
/**
- * Clears the search context and results for a scrolling search.
+ * Clear a scrolling search.
+ *
+ * Clear the search context and results for a scrolling search.
*
* @param fn
* a function that initializes a builder to create the
@@ -437,7 +441,9 @@ public final ClearScrollResponse clearScroll(
}
/**
- * Clears the search context and results for a scrolling search.
+ * Clear a scrolling search.
+ *
+ * Clear the search context and results for a scrolling search.
*
* @see Documentation
@@ -452,7 +458,14 @@ public ClearScrollResponse clearScroll() throws IOException, ElasticsearchExcept
// ----- Endpoint: close_point_in_time
/**
- * Closes a point-in-time.
+ * Close a point in time.
+ *
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * Get information about the capabilities of fields among multiple indices.
+ *
+ * For data streams, the API returns field capabilities among the stream’s
+ * backing indices. It returns runtime fields like any other field. For example,
+ * a runtime field with a type of keyword is returned the same as any other
+ * field that belongs to the
+ * Get information about the capabilities of fields among multiple indices.
+ *
+ * For data streams, the API returns field capabilities among the stream’s
+ * backing indices. It returns runtime fields like any other field. For example,
+ * a runtime field with a type of keyword is returned the same as any other
+ * field that belongs to the
+ * Get information about the capabilities of fields among multiple indices.
+ *
+ * For data streams, the API returns field capabilities among the stream’s
+ * backing indices. It returns runtime fields like any other field. For example,
+ * a runtime field with a type of keyword is returned the same as any other
+ * field that belongs to the
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @see Documentation
@@ -1256,7 +1300,22 @@ public
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @param fn
* a function that initializes a builder to create the
@@ -1273,7 +1332,22 @@ public final
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @see Documentation
@@ -1292,7 +1366,22 @@ public
+ * NOTE: The kNN search API has been replaced by the
+ * Perform a k-nearest neighbor (kNN) search on a dense_vector field and return
+ * the matching documents. Given a query vector, the API finds the k closest
+ * vectors and returns those documents as search hits.
+ *
+ * Elasticsearch uses the HNSW algorithm to support efficient kNN search. Like
+ * most kNN algorithms, HNSW is an approximate method that sacrifices result
+ * accuracy for improved search speed. This means the results returned are not
+ * always the true k closest neighbors.
+ *
+ * The kNN search API supports restricting the search using a filter. The search
+ * will return the top k documents that also match the filter query.
*
* @param fn
* a function that initializes a builder to create the
@@ -1553,7 +1642,7 @@ public final
+ * A search request by default runs against the most recent visible data of the
+ * target indices, which is called point in time. Elasticsearch pit (point in
+ * time) is a lightweight view into the state of the data as it existed when
* initiated. In some cases, it’s preferred to perform multiple search requests
* using the same point in time. For example, if refreshes happen between
*
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * A search request by default runs against the most recent visible data of the
+ * target indices, which is called point in time. Elasticsearch pit (point in
+ * time) is a lightweight view into the state of the data as it existed when
* initiated. In some cases, it’s preferred to perform multiple search requests
* using the same point in time. For example, if refreshes happen between
*
+ * A point in time must be opened explicitly before being used in search
+ * requests. The
+ * Evaluate the quality of ranked search results over a set of typical search
+ * queries.
*
* @param fn
* a function that initializes a builder to create the
@@ -1902,7 +2007,9 @@ public final ReindexRethrottleResponse reindexRethrottle(
// ----- Endpoint: render_search_template
/**
- * Renders a search template as a search request body.
+ * Render a search template.
+ *
+ * Render a search template as a search request body.
*
* @see Documentation
@@ -1918,7 +2025,9 @@ public RenderSearchTemplateResponse renderSearchTemplate(RenderSearchTemplateReq
}
/**
- * Renders a search template as a search request body.
+ * Render a search template.
+ *
+ * Render a search template as a search request body.
*
* @param fn
* a function that initializes a builder to create the
@@ -1935,7 +2044,9 @@ public final RenderSearchTemplateResponse renderSearchTemplate(
}
/**
- * Renders a search template as a search request body.
+ * Render a search template.
+ *
+ * Render a search template as a search request body.
*
* @see Documentation
@@ -2185,9 +2296,11 @@ public final
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Get search hits that match the query defined in the request. You can provide
+ * search queries using the
+ * Search a vector tile for geospatial values.
*
* @see Documentation
@@ -2280,7 +2401,9 @@ public BinaryResponse searchMvt(SearchMvtRequest request) throws IOException, El
}
/**
- * Search a vector tile. Searches a vector tile for geospatial values.
+ * Search a vector tile.
+ *
+ * Search a vector tile for geospatial values.
*
* @param fn
* a function that initializes a builder to create the
@@ -2298,8 +2421,12 @@ public final BinaryResponse searchMvt(Function
+ * Get the indices and shards that a search request would be run against. This
+ * information can be useful for working out issues or planning optimizations
+ * with routing and shard preferences. When filtered aliases are used, the
+ * filter is returned as part of the indices section.
*
* @param fn
* a function that initializes a builder to create the
@@ -2332,8 +2463,12 @@ public final SearchShardsResponse searchShards(
}
/**
- * Returns information about the indices and shards that a search request would
- * be executed against.
+ * Get the search shards.
+ *
+ * Get the indices and shards that a search request would be run against. This
+ * information can be useful for working out issues or planning optimizations
+ * with routing and shard preferences. When filtered aliases are used, the
+ * filter is returned as part of the indices section.
*
* @see Documentation
@@ -2348,7 +2483,7 @@ public SearchShardsResponse searchShards() throws IOException, ElasticsearchExce
// ----- Endpoint: search_template
/**
- * Runs a search with a search template.
+ * Run a search with a search template.
*
* @see Documentation
@@ -2367,7 +2502,7 @@ public
+ * Get information and statistics about terms in the fields of a particular
+ * document.
*
* @param fn
* a function that initializes a builder to create the
diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java
index 478fdc197..40b0649e0 100644
--- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java
+++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/Retriever.java
@@ -77,6 +77,10 @@ public enum Kind implements JsonEnum {
Rrf("rrf"),
+ TextSimilarityReranker("text_similarity_reranker"),
+
+ Rule("rule"),
+
;
private final String jsonValue;
@@ -173,6 +177,41 @@ public RRFRetriever rrf() {
return TaggedUnionUtils.get(this, Kind.Rrf);
}
+ /**
+ * Is this variant instance of kind {@code text_similarity_reranker}?
+ */
+ public boolean isTextSimilarityReranker() {
+ return _kind == Kind.TextSimilarityReranker;
+ }
+
+ /**
+ * Get the {@code text_similarity_reranker} variant value.
+ *
+ * @throws IllegalStateException
+ * if the current variant is not of the
+ * {@code text_similarity_reranker} kind.
+ */
+ public TextSimilarityReranker textSimilarityReranker() {
+ return TaggedUnionUtils.get(this, Kind.TextSimilarityReranker);
+ }
+
+ /**
+ * Is this variant instance of kind {@code rule}?
+ */
+ public boolean isRule() {
+ return _kind == Kind.Rule;
+ }
+
+ /**
+ * Get the {@code rule} variant value.
+ *
+ * @throws IllegalStateException
+ * if the current variant is not of the {@code rule} kind.
+ */
+ public RuleRetriever rule() {
+ return TaggedUnionUtils.get(this, Kind.Rule);
+ }
+
@Override
@SuppressWarnings("unchecked")
public void serialize(JsonGenerator generator, JsonpMapper mapper) {
@@ -232,6 +271,27 @@ public ObjectBuilder
+ * API name: {@code min_score}
+ */
+ @Nullable
+ public final Float minScore() {
+ return this.minScore;
+ }
+
/**
* Serialize this object to JSON.
*/
@@ -100,6 +116,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
generator.writeEnd();
}
+ if (this.minScore != null) {
+ generator.writeKey("min_score");
+ generator.write(this.minScore);
+
+ }
}
@@ -114,6 +135,9 @@ public abstract static class AbstractBuilder
@@ -149,6 +173,17 @@ public final BuilderT filter(Function
+ * API name: {@code min_score}
+ */
+ public final BuilderT minScore(@Nullable Float value) {
+ this.minScore = value;
+ return self();
+ }
+
protected abstract BuilderT self();
}
@@ -158,6 +193,7 @@ protected static
+ * API name: {@code ruleset_ids}
+ */
+ public final List
+ * API name: {@code match_criteria}
+ */
+ public final JsonData matchCriteria() {
+ return this.matchCriteria;
+ }
+
+ /**
+ * Required - The retriever whose results rules should be applied to.
+ *
+ * API name: {@code retriever}
+ */
+ public final Retriever retriever() {
+ return this.retriever;
+ }
+
+ /**
+ * This value determines the size of the individual result set.
+ *
+ * API name: {@code rank_window_size}
+ */
+ @Nullable
+ public final Integer rankWindowSize() {
+ return this.rankWindowSize;
+ }
+
+ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
+
+ super.serializeInternal(generator, mapper);
+ if (ApiTypeHelper.isDefined(this.rulesetIds)) {
+ generator.writeKey("ruleset_ids");
+ generator.writeStartArray();
+ for (String item0 : this.rulesetIds) {
+ generator.write(item0);
+
+ }
+ generator.writeEnd();
+
+ }
+ generator.writeKey("match_criteria");
+ this.matchCriteria.serialize(generator, mapper);
+
+ generator.writeKey("retriever");
+ this.retriever.serialize(generator, mapper);
+
+ if (this.rankWindowSize != null) {
+ generator.writeKey("rank_window_size");
+ generator.write(this.rankWindowSize);
+
+ }
+
+ }
+
+ // ---------------------------------------------------------------------------------------------
+
+ /**
+ * Builder for {@link RuleRetriever}.
+ */
+
+ public static class Builder extends RetrieverBase.AbstractBuilder
+ * API name: {@code ruleset_ids}
+ *
+ * Adds all elements of
+ * API name: {@code ruleset_ids}
+ *
+ * Adds one or more values to
+ * API name: {@code match_criteria}
+ */
+ public final Builder matchCriteria(JsonData value) {
+ this.matchCriteria = value;
+ return this;
+ }
+
+ /**
+ * Required - The retriever whose results rules should be applied to.
+ *
+ * API name: {@code retriever}
+ */
+ public final Builder retriever(Retriever value) {
+ this.retriever = value;
+ return this;
+ }
+
+ /**
+ * Required - The retriever whose results rules should be applied to.
+ *
+ * API name: {@code retriever}
+ */
+ public final Builder retriever(Function
+ * API name: {@code rank_window_size}
+ */
+ public final Builder rankWindowSize(@Nullable Integer value) {
+ this.rankWindowSize = value;
+ return this;
+ }
+
+ @Override
+ protected Builder self() {
+ return this;
+ }
+
+ /**
+ * Builds a {@link RuleRetriever}.
+ *
+ * @throws NullPointerException
+ * if some of the required fields are null.
+ */
+ public RuleRetriever build() {
+ _checkSingleUse();
+
+ return new RuleRetriever(this);
+ }
+ }
+
+ // ---------------------------------------------------------------------------------------------
+
+ /**
+ * Json deserializer for {@link RuleRetriever}
+ */
+ public static final JsonpDeserializer
- * API name: {@code min_score}
- */
- @Nullable
- public final Float minScore() {
- return this.minScore;
- }
-
/**
* Collapses the top documents by a specified key into a single top document per
* key.
@@ -195,11 +179,6 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
}
generator.writeEnd();
- }
- if (this.minScore != null) {
- generator.writeKey("min_score");
- generator.write(this.minScore);
-
}
if (this.collapse != null) {
generator.writeKey("collapse");
@@ -230,9 +209,6 @@ public static class Builder extends RetrieverBase.AbstractBuilder
+ * API name: {@code retriever}
+ */
+ public final Retriever retriever() {
+ return this.retriever;
+ }
+
+ /**
+ * This value determines how many documents we will consider from the nested
+ * retriever.
+ *
+ * API name: {@code rank_window_size}
+ */
+ @Nullable
+ public final Integer rankWindowSize() {
+ return this.rankWindowSize;
+ }
+
+ /**
+ * Unique identifier of the inference endpoint created using the inference API.
+ *
+ * API name: {@code inference_id}
+ */
+ @Nullable
+ public final String inferenceId() {
+ return this.inferenceId;
+ }
+
+ /**
+ * The text snippet used as the basis for similarity comparison
+ *
+ * API name: {@code inference_text}
+ */
+ @Nullable
+ public final String inferenceText() {
+ return this.inferenceText;
+ }
+
+ /**
+ * The document field to be used for text similarity comparisons. This field
+ * should contain the text that will be evaluated against the inference_text
+ *
+ * API name: {@code field}
+ */
+ @Nullable
+ public final String field() {
+ return this.field;
+ }
+
+ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
+
+ super.serializeInternal(generator, mapper);
+ generator.writeKey("retriever");
+ this.retriever.serialize(generator, mapper);
+
+ if (this.rankWindowSize != null) {
+ generator.writeKey("rank_window_size");
+ generator.write(this.rankWindowSize);
+
+ }
+ if (this.inferenceId != null) {
+ generator.writeKey("inference_id");
+ generator.write(this.inferenceId);
+
+ }
+ if (this.inferenceText != null) {
+ generator.writeKey("inference_text");
+ generator.write(this.inferenceText);
+
+ }
+ if (this.field != null) {
+ generator.writeKey("field");
+ generator.write(this.field);
+
+ }
+
+ }
+
+ // ---------------------------------------------------------------------------------------------
+
+ /**
+ * Builder for {@link TextSimilarityReranker}.
+ */
+
+ public static class Builder extends RetrieverBase.AbstractBuilder
+ * API name: {@code retriever}
+ */
+ public final Builder retriever(Retriever value) {
+ this.retriever = value;
+ return this;
+ }
+
+ /**
+ * Required - The nested retriever which will produce the first-level results,
+ * that will later be used for reranking.
+ *
+ * API name: {@code retriever}
+ */
+ public final Builder retriever(Function
+ * API name: {@code rank_window_size}
+ */
+ public final Builder rankWindowSize(@Nullable Integer value) {
+ this.rankWindowSize = value;
+ return this;
+ }
+
+ /**
+ * Unique identifier of the inference endpoint created using the inference API.
+ *
+ * API name: {@code inference_id}
+ */
+ public final Builder inferenceId(@Nullable String value) {
+ this.inferenceId = value;
+ return this;
+ }
+
+ /**
+ * The text snippet used as the basis for similarity comparison
+ *
+ * API name: {@code inference_text}
+ */
+ public final Builder inferenceText(@Nullable String value) {
+ this.inferenceText = value;
+ return this;
+ }
+
+ /**
+ * The document field to be used for text similarity comparisons. This field
+ * should contain the text that will be evaluated against the inference_text
+ *
+ * API name: {@code field}
+ */
+ public final Builder field(@Nullable String value) {
+ this.field = value;
+ return this;
+ }
+
+ @Override
+ protected Builder self() {
+ return this;
+ }
+
+ /**
+ * Builds a {@link TextSimilarityReranker}.
+ *
+ * @throws NullPointerException
+ * if some of the required fields are null.
+ */
+ public TextSimilarityReranker build() {
+ _checkSingleUse();
+
+ return new TextSimilarityReranker(this);
+ }
+ }
+
+ // ---------------------------------------------------------------------------------------------
+
+ /**
+ * Json deserializer for {@link TextSimilarityReranker}
+ */
+ public static final JsonpDeserializer
+ * Get the status of a previously submitted async search request given its
+ * identifier, without retrieving search results. If the Elasticsearch security
+ * features are enabled, use of this API is restricted to the
+ *
+ * If the asynchronous search is still running, it is cancelled. Otherwise, the
+ * saved search results are deleted. If the Elasticsearch security features are
+ * enabled, the deletion of a specific async search is restricted to: the
+ * authenticated user that submitted the original search request; users that
+ * have the
+ * If the asynchronous search is still running, it is cancelled. Otherwise, the
+ * saved search results are deleted. If the Elasticsearch security features are
+ * enabled, the deletion of a specific async search is restricted to: the
+ * authenticated user that submitted the original search request; users that
+ * have the
+ * If the asynchronous search is still running, it is cancelled. Otherwise, the
+ * saved search results are deleted. If the Elasticsearch security features are
+ * enabled, the deletion of a specific async search is restricted to: the
+ * authenticated user that submitted the original search request; users that
+ * have the
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @see Documentation
@@ -136,10 +140,12 @@ public
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @param fn
* a function that initializes a builder to create the
@@ -156,10 +162,12 @@ public final
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @see Documentation
@@ -177,10 +185,12 @@ public
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @param fn
* a function that initializes a builder to create the
@@ -198,10 +208,12 @@ public final
+ * Get the status of a previously submitted async search request given its
+ * identifier, without retrieving search results. If the Elasticsearch security
+ * features are enabled, use of this API is restricted to the
+ *
+ * Get the status of a previously submitted async search request given its
+ * identifier, without retrieving search results. If the Elasticsearch security
+ * features are enabled, use of this API is restricted to the
+ *
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
@@ -268,10 +283,11 @@ public
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
@@ -296,10 +312,11 @@ public final
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
@@ -326,10 +343,11 @@ public
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java
index 1dada7bd2..e71c8284e 100644
--- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java
+++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java
@@ -71,12 +71,13 @@ public ElasticsearchAsyncSearchClient withTransportOptions(@Nullable TransportOp
// ----- Endpoint: async_search.delete
/**
- * Delete an async search. If the asynchronous search is still running, it is
- * cancelled. Otherwise, the saved search results are deleted. If the
- * Elasticsearch security features are enabled, the deletion of a specific async
- * search is restricted to: the authenticated user that submitted the original
- * search request; users that have the
+ * If the asynchronous search is still running, it is cancelled. Otherwise, the
+ * saved search results are deleted. If the Elasticsearch security features are
+ * enabled, the deletion of a specific async search is restricted to: the
+ * authenticated user that submitted the original search request; users that
+ * have the
+ * If the asynchronous search is still running, it is cancelled. Otherwise, the
+ * saved search results are deleted. If the Elasticsearch security features are
+ * enabled, the deletion of a specific async search is restricted to: the
+ * authenticated user that submitted the original search request; users that
+ * have the
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @see Documentation
@@ -137,10 +141,12 @@ public
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @param fn
* a function that initializes a builder to create the
@@ -157,10 +163,12 @@ public final
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @see Documentation
@@ -178,10 +186,12 @@ public
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @param fn
* a function that initializes a builder to create the
@@ -200,10 +210,12 @@ public final
+ * Get the status of a previously submitted async search request given its
+ * identifier, without retrieving search results. If the Elasticsearch security
+ * features are enabled, use of this API is restricted to the
+ *
+ * Get the status of a previously submitted async search request given its
+ * identifier, without retrieving search results. If the Elasticsearch security
+ * features are enabled, use of this API is restricted to the
+ *
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
@@ -272,10 +287,11 @@ public
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
@@ -301,10 +317,11 @@ public final
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
@@ -332,10 +349,11 @@ public
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java
index fbd4cbbd5..c4e0cb522 100644
--- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java
+++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/GetAsyncSearchRequest.java
@@ -56,10 +56,12 @@
// typedef: async_search.get.Request
/**
- * Get async search results. Retrieve the results of a previously submitted
- * asynchronous search request. If the Elasticsearch security features are
- * enabled, access to the results of a specific async search is restricted to
- * the user or API key that submitted it.
+ * Get async search results.
+ *
+ * Retrieve the results of a previously submitted asynchronous search request.
+ * If the Elasticsearch security features are enabled, access to the results of
+ * a specific async search is restricted to the user or API key that submitted
+ * it.
*
* @see API
* specification
diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java
index a655d7413..2c9ac8899 100644
--- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java
+++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java
@@ -85,10 +85,11 @@
// typedef: async_search.submit.Request
/**
- * Run an async search. When the primary sort of the results is an indexed
- * field, shards get sorted based on minimum and maximum value that they hold
- * for that field. Partial results become available following the sort criteria
- * that was requested.
+ * Run an async search.
+ *
+ * When the primary sort of the results is an indexed field, shards get sorted
+ * based on minimum and maximum value that they hold for that field. Partial
+ * results become available following the sort criteria that was requested.
*
* Warning: Asynchronous search does not support scroll or search requests that
* include only the suggest section.
@@ -177,9 +178,6 @@ public class SubmitRequest extends RequestBase implements JsonpSerializable {
@Nullable
private final Long maxConcurrentShardRequests;
- @Nullable
- private final String minCompatibleShardNode;
-
@Nullable
private final Double minScore;
@@ -291,7 +289,6 @@ private SubmitRequest(Builder builder) {
this.knn = ApiTypeHelper.unmodifiable(builder.knn);
this.lenient = builder.lenient;
this.maxConcurrentShardRequests = builder.maxConcurrentShardRequests;
- this.minCompatibleShardNode = builder.minCompatibleShardNode;
this.minScore = builder.minScore;
this.pit = builder.pit;
this.postFilter = builder.postFilter;
@@ -607,14 +604,6 @@ public final Long maxConcurrentShardRequests() {
return this.maxConcurrentShardRequests;
}
- /**
- * API name: {@code min_compatible_shard_node}
- */
- @Nullable
- public final String minCompatibleShardNode() {
- return this.minCompatibleShardNode;
- }
-
/**
* Minimum _score for matching documents. Documents with a lower _score are not
* included in the search results.
@@ -1253,9 +1242,6 @@ public static class Builder extends RequestBase.AbstractBuilderkeep_alive
parameter tells Elasticsearch how long
+ * it should persist. A point in time is automatically closed when the
+ * keep_alive
period has elapsed. However, keeping points in time
+ * has a cost; close them as soon as they are no longer required for search
+ * requests.
*
* @see Documentation
@@ -464,7 +477,14 @@ public CompletableFuturekeep_alive
parameter tells Elasticsearch how long
+ * it should persist. A point in time is automatically closed when the
+ * keep_alive
period has elapsed. However, keeping points in time
+ * has a cost; close them as soon as they are no longer required for search
+ * requests.
*
* @param fn
* a function that initializes a builder to create the
@@ -852,11 +872,14 @@ public final keyword
family.
+ * Get the field capabilities.
+ * keyword
family.
*
* @see Documentation
@@ -871,11 +894,14 @@ public CompletableFuturekeyword
family.
+ * Get the field capabilities.
+ * keyword
family.
*
* @param fn
* a function that initializes a builder to create the
@@ -891,11 +917,14 @@ public final CompletableFuturekeyword
family.
+ * Get the field capabilities.
+ * keyword
family.
*
* @see Documentation
@@ -1218,7 +1247,22 @@ public CompletableFutureknn
option in
+ * the search API.
+ * knn
option in
+ * the search API.
+ * knn
option in
+ * the search API.
+ * knn
option in
+ * the search API.
+ * search_after
requests, then the results of those requests might
* not be consistent as changes happening between searches are only visible to
* the more recent point in time.
+ * keep_alive
parameter tells Elasticsearch how long
+ * it should persist.
*
* @see Documentation
@@ -1688,14 +1783,20 @@ public CompletableFuturesearch_after
requests, then the results of those requests might
* not be consistent as changes happening between searches are only visible to
* the more recent point in time.
+ * keep_alive
parameter tells Elasticsearch how long
+ * it should persist.
*
* @param fn
* a function that initializes a builder to create the
@@ -1761,8 +1862,10 @@ public final CompletableFutureq
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @see Documentation
@@ -2169,9 +2282,11 @@ public q
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @param fn
* a function that initializes a builder to create the
@@ -2187,9 +2302,11 @@ public final q
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @see Documentation
@@ -2206,9 +2323,11 @@ public q
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @param fn
* a function that initializes a builder to create the
@@ -2226,7 +2345,9 @@ public final keep_alive
parameter tells Elasticsearch how long
+ * it should persist. A point in time is automatically closed when the
+ * keep_alive
period has elapsed. However, keeping points in time
+ * has a cost; close them as soon as they are no longer required for search
+ * requests.
*
* @see Documentation
@@ -468,7 +481,14 @@ public ClosePointInTimeResponse closePointInTime(ClosePointInTimeRequest request
}
/**
- * Closes a point-in-time.
+ * Close a point in time.
+ * keep_alive
parameter tells Elasticsearch how long
+ * it should persist. A point in time is automatically closed when the
+ * keep_alive
period has elapsed. However, keeping points in time
+ * has a cost; close them as soon as they are no longer required for search
+ * requests.
*
* @param fn
* a function that initializes a builder to create the
@@ -866,11 +886,14 @@ public final keyword
family.
+ * Get the field capabilities.
+ * keyword
family.
*
* @see Documentation
@@ -885,11 +908,14 @@ public FieldCapsResponse fieldCaps(FieldCapsRequest request) throws IOException,
}
/**
- * The field capabilities API returns the information about the capabilities of
- * fields among multiple indices. The field capabilities API returns runtime
- * fields like any other field. For example, a runtime field with a type of
- * keyword is returned as any other field that belongs to the
- * keyword
family.
+ * Get the field capabilities.
+ * keyword
family.
*
* @param fn
* a function that initializes a builder to create the
@@ -905,11 +931,14 @@ public final FieldCapsResponse fieldCaps(Functionkeyword
family.
*
* @see Documentation
@@ -1237,7 +1266,22 @@ public InfoResponse info() throws IOException, ElasticsearchException {
// ----- Endpoint: knn_search
/**
- * Performs a kNN search.
+ * Run a knn search.
+ * knn
option in
+ * the search API.
+ * knn
option in
+ * the search API.
+ * knn
option in
+ * the search API.
+ * knn
option in
+ * the search API.
+ * search_after
requests, then the results of those requests might
* not be consistent as changes happening between searches are only visible to
* the more recent point in time.
+ * keep_alive
parameter tells Elasticsearch how long
+ * it should persist.
*
* @see Documentation
@@ -1715,14 +1810,20 @@ public OpenPointInTimeResponse openPointInTime(OpenPointInTimeRequest request)
}
/**
- * A search request by default executes against the most recent visible data of
- * the target indices, which is called point in time. Elasticsearch pit (point
- * in time) is a lightweight view into the state of the data as it existed when
+ * Open a point in time.
+ * search_after
requests, then the results of those requests might
* not be consistent as changes happening between searches are only visible to
* the more recent point in time.
+ * keep_alive
parameter tells Elasticsearch how long
+ * it should persist.
*
* @param fn
* a function that initializes a builder to create the
@@ -1789,8 +1890,10 @@ public final PutScriptResponse putScript(Functionq
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @see Documentation
@@ -2205,9 +2318,11 @@ public q
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @param fn
* a function that initializes a builder to create the
@@ -2224,9 +2339,11 @@ public final q
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @see Documentation
@@ -2244,9 +2361,11 @@ public q
query string parameter or the
- * request body. If both are specified, only the query parameter is used.
+ * Run a search.
+ * q
query string parameter or the request
+ * body. If both are specified, only the query parameter is used.
*
* @param fn
* a function that initializes a builder to create the
@@ -2265,7 +2384,9 @@ public final list
to rulesetIds
.
+ */
+ public final Builder rulesetIds(ListrulesetIds
.
+ */
+ public final Builder rulesetIds(String value, String... values) {
+ this.rulesetIds = _listAdd(this.rulesetIds, value, values);
+ return this;
+ }
+
+ /**
+ * Required - The match criteria that will determine if a rule in the provided
+ * rulesets should be applied.
+ * monitoring_user
role.
+ * Get the async search status.
+ * monitoring_user
role.
*
* @see API
* specification
diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java
index b6ca9db8f..996d4a6ea 100644
--- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java
+++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/DeleteAsyncSearchRequest.java
@@ -56,12 +56,13 @@
// typedef: async_search.delete.Request
/**
- * Delete an async search. If the asynchronous search is still running, it is
- * cancelled. Otherwise, the saved search results are deleted. If the
- * Elasticsearch security features are enabled, the deletion of a specific async
- * search is restricted to: the authenticated user that submitted the original
- * search request; users that have the cancel_task
cluster
- * privilege.
+ * Delete an async search.
+ * cancel_task
cluster privilege.
*
* @see API
* specification
diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java
index cf2ce1e16..8c01cb403 100644
--- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java
+++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java
@@ -72,12 +72,13 @@ public ElasticsearchAsyncSearchAsyncClient withTransportOptions(@Nullable Transp
// ----- Endpoint: async_search.delete
/**
- * Delete an async search. If the asynchronous search is still running, it is
- * cancelled. Otherwise, the saved search results are deleted. If the
- * Elasticsearch security features are enabled, the deletion of a specific async
- * search is restricted to: the authenticated user that submitted the original
- * search request; users that have the cancel_task
cluster
- * privilege.
+ * Delete an async search.
+ * cancel_task
cluster privilege.
*
* @see Documentation
@@ -92,12 +93,13 @@ public CompletableFuturecancel_task
cluster
- * privilege.
+ * Delete an async search.
+ * cancel_task
cluster privilege.
*
* @param fn
* a function that initializes a builder to create the
@@ -115,10 +117,12 @@ public final CompletableFuturemonitoring_user
role.
+ * Get the async search status.
+ * monitoring_user
role.
*
* @see Documentation
@@ -216,10 +228,12 @@ public CompletableFuturemonitoring_user
role.
+ * Get the async search status.
+ * monitoring_user
role.
*
* @param fn
* a function that initializes a builder to create the
@@ -237,10 +251,11 @@ public final CompletableFuturecancel_task
cluster
- * privilege.
+ * Delete an async search.
+ * cancel_task
cluster privilege.
*
* @see Documentation
@@ -92,12 +93,13 @@ public DeleteAsyncSearchResponse delete(DeleteAsyncSearchRequest request)
}
/**
- * Delete an async search. If the asynchronous search is still running, it is
- * cancelled. Otherwise, the saved search results are deleted. If the
- * Elasticsearch security features are enabled, the deletion of a specific async
- * search is restricted to: the authenticated user that submitted the original
- * search request; users that have the cancel_task
cluster
- * privilege.
+ * Delete an async search.
+ * cancel_task
cluster privilege.
*
* @param fn
* a function that initializes a builder to create the
@@ -116,10 +118,12 @@ public final DeleteAsyncSearchResponse delete(
// ----- Endpoint: async_search.get
/**
- * Get async search results. Retrieve the results of a previously submitted
- * asynchronous search request. If the Elasticsearch security features are
- * enabled, access to the results of a specific async search is restricted to
- * the user or API key that submitted it.
+ * Get async search results.
+ * monitoring_user
role.
+ * Get the async search status.
+ * monitoring_user
role.
*
* @see Documentation
@@ -219,10 +231,12 @@ public AsyncSearchStatusResponse status(AsyncSearchStatusRequest request)
}
/**
- * Get async search status. Retrieve the status of a previously submitted async
- * search request given its identifier, without retrieving search results. If
- * the Elasticsearch security features are enabled, use of this API is
- * restricted to the monitoring_user
role.
+ * Get the async search status.
+ * monitoring_user
role.
*
* @param fn
* a function that initializes a builder to create the
@@ -241,10 +255,11 @@ public final AsyncSearchStatusResponse status(
// ----- Endpoint: async_search.submit
/**
- * Run an async search. When the primary sort of the results is an indexed
- * field, shards get sorted based on minimum and maximum value that they hold
- * for that field. Partial results become available following the sort criteria
- * that was requested.
+ * Run an async search.
+ *