[Docs] Add "Using Java Builders" section (#26517)
The current "Building Queries" and "Building Aggregations" pages are located under the "Supported Apis" section because they are linked to the "Search API" page. It should instead be in a dedicated section: this commit adds a new "Using Java Builders" section and renames few filenames in favor of more meaningful names.
This commit is contained in:
parent
0c799eedc5
commit
ecf39bc0c1
|
@ -6,5 +6,3 @@ include::bulk.asciidoc[]
|
||||||
include::search.asciidoc[]
|
include::search.asciidoc[]
|
||||||
include::scroll.asciidoc[]
|
include::scroll.asciidoc[]
|
||||||
include::main.asciidoc[]
|
include::main.asciidoc[]
|
||||||
include::queries.asciidoc[]
|
|
||||||
include::aggs.asciidoc[]
|
|
||||||
|
|
|
@ -82,6 +82,7 @@ After this, the `SearchSourceBuilder` only needs to be added to the
|
||||||
include-tagged::{doc-tests}/SearchDocumentationIT.java[search-source-setter]
|
include-tagged::{doc-tests}/SearchDocumentationIT.java[search-source-setter]
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
|
[[java-rest-high-document-search-request-building-queries]]
|
||||||
===== Building queries
|
===== Building queries
|
||||||
|
|
||||||
Search queries are created using `QueryBuilder` objects. A `QueryBuilder` exists
|
Search queries are created using `QueryBuilder` objects. A `QueryBuilder` exists
|
||||||
|
@ -125,7 +126,7 @@ to the `SearchSourceBuilder` as follows:
|
||||||
include-tagged::{doc-tests}/SearchDocumentationIT.java[search-query-setter]
|
include-tagged::{doc-tests}/SearchDocumentationIT.java[search-query-setter]
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
The <<java-rest-high-search-queries, Search Queries>> page gives a list of all available search queries with
|
The <<java-rest-high-query-builders, Building Queries>> page gives a list of all available search queries with
|
||||||
their corresponding `QueryBuilder` objects and `QueryBuilders` helper methods.
|
their corresponding `QueryBuilder` objects and `QueryBuilders` helper methods.
|
||||||
|
|
||||||
|
|
||||||
|
@ -178,6 +179,7 @@ setters with a similar name (e.g. `#preTags(String ...)`).
|
||||||
|
|
||||||
Highlighted text fragments can <<java-rest-high-retrieve-highlighting,later be retrieved>> from the `SearchResponse`.
|
Highlighted text fragments can <<java-rest-high-retrieve-highlighting,later be retrieved>> from the `SearchResponse`.
|
||||||
|
|
||||||
|
[[java-rest-high-document-search-request-building-aggs]]
|
||||||
===== Requesting Aggregations
|
===== Requesting Aggregations
|
||||||
|
|
||||||
Aggregations can be added to the search by first creating the appropriate
|
Aggregations can be added to the search by first creating the appropriate
|
||||||
|
@ -190,7 +192,7 @@ sub-aggregation on the average age of employees in the company:
|
||||||
include-tagged::{doc-tests}/SearchDocumentationIT.java[search-request-aggregations]
|
include-tagged::{doc-tests}/SearchDocumentationIT.java[search-request-aggregations]
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
The <<java-rest-high-aggregations, Aggregations>> page gives a list of all available aggregations with
|
The <<java-rest-high-aggregation-builders, Building Aggregations>> page gives a list of all available aggregations with
|
||||||
their corresponding `AggregationBuilder` objects and `AggregationBuilders` helper methods.
|
their corresponding `AggregationBuilder` objects and `AggregationBuilders` helper methods.
|
||||||
|
|
||||||
We will later see how to <<java-rest-high-retrieve-aggs,access aggregations>> in the `SearchResponse`.
|
We will later see how to <<java-rest-high-retrieve-aggs,access aggregations>> in the `SearchResponse`.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[[java-rest-high-aggregations]]
|
[[java-rest-high-aggregation-builders]]
|
||||||
=== Building Aggregations
|
=== Building Aggregations
|
||||||
|
|
||||||
This page lists all the available aggregations with their corresponding `AggregationBuilder` class name and helper method name in the
|
This page lists all the available aggregations with their corresponding `AggregationBuilder` class name and helper method name in the
|
|
@ -1,5 +1,5 @@
|
||||||
[[java-rest-high-search-queries]]
|
[[java-rest-high-query-builders]]
|
||||||
=== Building Search Queries
|
=== Building Queries
|
||||||
|
|
||||||
This page lists all the available search queries with their corresponding `QueryBuilder` class name and helper method name in the
|
This page lists all the available search queries with their corresponding `QueryBuilder` class name and helper method name in the
|
||||||
`QueryBuilders` utility class.
|
`QueryBuilders` utility class.
|
|
@ -1,4 +1,4 @@
|
||||||
[[java-rest-high-usage]]
|
[[java-rest-high-getting-started]]
|
||||||
== Getting started
|
== Getting started
|
||||||
|
|
||||||
This section describes how to get started with the high-level REST client from
|
This section describes how to get started with the high-level REST client from
|
||||||
|
@ -36,7 +36,7 @@ major version.
|
||||||
|
|
||||||
The javadoc for the REST high level client can be found at {rest-high-level-client-javadoc}/index.html.
|
The javadoc for the REST high level client can be found at {rest-high-level-client-javadoc}/index.html.
|
||||||
|
|
||||||
[[java-rest-high-usage-maven]]
|
[[java-rest-high-getting-started-maven]]
|
||||||
=== Maven Repository
|
=== Maven Repository
|
||||||
|
|
||||||
The high-level Java REST client is hosted on
|
The high-level Java REST client is hosted on
|
||||||
|
@ -46,7 +46,7 @@ Central]. The minimum Java version required is `1.8`.
|
||||||
The High Level REST Client is subject to the same release cycle as
|
The High Level REST Client is subject to the same release cycle as
|
||||||
Elasticsearch. Replace the version with the desired client version.
|
Elasticsearch. Replace the version with the desired client version.
|
||||||
|
|
||||||
[[java-rest-high-usage-maven-maven]]
|
[[java-rest-high-getting-started-maven-maven]]
|
||||||
==== Maven configuration
|
==== Maven configuration
|
||||||
|
|
||||||
Here is how you can configure the dependency using maven as a dependency manager.
|
Here is how you can configure the dependency using maven as a dependency manager.
|
||||||
|
@ -61,7 +61,7 @@ Add the following to your `pom.xml` file:
|
||||||
</dependency>
|
</dependency>
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
[[java-rest-high-usage-maven-gradle]]
|
[[java-rest-high-getting-started-maven-gradle]]
|
||||||
==== Gradle configuration
|
==== Gradle configuration
|
||||||
|
|
||||||
Here is how you can configure the dependency using gradle as a dependency manager.
|
Here is how you can configure the dependency using gradle as a dependency manager.
|
||||||
|
@ -74,7 +74,7 @@ dependencies {
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
[[java-rest-high-usage-maven-lucene]]
|
[[java-rest-high-getting-started-maven-lucene]]
|
||||||
==== Lucene Snapshot repository
|
==== Lucene Snapshot repository
|
||||||
|
|
||||||
The very first releases of any major version (like a beta), might have been built on top of a Lucene Snapshot version.
|
The very first releases of any major version (like a beta), might have been built on top of a Lucene Snapshot version.
|
||||||
|
@ -105,7 +105,7 @@ maven {
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
[[java-rest-high-usage-dependencies]]
|
[[java-rest-high-getting-started-dependencies]]
|
||||||
=== Dependencies
|
=== Dependencies
|
||||||
|
|
||||||
The High Level Java REST Client depends on the following artifacts and their
|
The High Level Java REST Client depends on the following artifacts and their
|
||||||
|
@ -115,7 +115,7 @@ transitive dependencies:
|
||||||
- org.elasticsearch:elasticsearch
|
- org.elasticsearch:elasticsearch
|
||||||
|
|
||||||
|
|
||||||
[[java-rest-high-usage-initialization]]
|
[[java-rest-high-getting-started-initialization]]
|
||||||
=== Initialization
|
=== Initialization
|
||||||
|
|
||||||
A `RestHighLevelClient` instance needs a <<java-rest-low-usage-initialization,REST low-level client builder>>
|
A `RestHighLevelClient` instance needs a <<java-rest-low-usage-initialization,REST low-level client builder>>
|
|
@ -24,14 +24,10 @@ the same response objects.
|
||||||
|
|
||||||
:doc-tests: {docdir}/../../client/rest-high-level/src/test/java/org/elasticsearch/client/documentation
|
:doc-tests: {docdir}/../../client/rest-high-level/src/test/java/org/elasticsearch/client/documentation
|
||||||
|
|
||||||
include::usage.asciidoc[]
|
include::getting-started.asciidoc[]
|
||||||
|
include::supported-apis.asciidoc[]
|
||||||
include::apis.asciidoc[]
|
include::java-builders.asciidoc[]
|
||||||
|
|
||||||
include::apis/index.asciidoc[]
|
|
||||||
|
|
||||||
include::migration.asciidoc[]
|
include::migration.asciidoc[]
|
||||||
|
|
||||||
include::../license.asciidoc[]
|
include::../license.asciidoc[]
|
||||||
|
|
||||||
:doc-tests!:
|
:doc-tests!:
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
[[java-rest-high-java-builders]]
|
||||||
|
== Using Java Builders
|
||||||
|
|
||||||
|
The Java High Level REST Client depends on the Elasticsearch core project which provides
|
||||||
|
different types of Java `Builders` objects, including:
|
||||||
|
|
||||||
|
Query Builders::
|
||||||
|
|
||||||
|
The query builders are used to create the query to execute within a search request. There
|
||||||
|
is a query builder for every type of query supported by the Query DSL. Each query builder
|
||||||
|
implements the `QueryBuilder` interface and allows to set the specific options for a given
|
||||||
|
type of query. Once created, the `QueryBuilder` object can be set as the query parameter of
|
||||||
|
`SearchSourceBuilder`. The <<java-rest-high-document-search-request-building-queries, Search Request>>
|
||||||
|
page shows an example of how to build a full search request using `SearchSourceBuilder` and
|
||||||
|
`QueryBuilder` objects. The <<java-rest-high-query-builders, Building Search Queries>> page
|
||||||
|
gives a list of all available search queries with their corresponding `QueryBuilder` objects
|
||||||
|
and `QueryBuilders` helper methods.
|
||||||
|
|
||||||
|
Aggregation Builders::
|
||||||
|
|
||||||
|
Similarly to query builders, the aggregation builders are used to create the aggregations to
|
||||||
|
compute during a search request execution. There is an aggregation builder for every type of
|
||||||
|
aggregation (or pipeline aggregation) supported by Elasticsearch. All builders extend the
|
||||||
|
`AggregationBuilder` class (or `PipelineAggregationBuilder`class). Once created, `AggregationBuilder`
|
||||||
|
objects can be set as the aggregation parameter of `SearchSourceBuilder`. There is a example
|
||||||
|
of how `AggregationBuilder` objects are used with `SearchSourceBuilder` objects to define the aggregations
|
||||||
|
to compute with a search query in <<java-rest-high-document-search-request-building-aggs, Search Request>> page.
|
||||||
|
The <<java-rest-high-aggregation-builders, Building Aggregations>> page gives a list of all available
|
||||||
|
aggregations with their corresponding `AggregationBuilder` objects and `AggregationBuilders` helper methods.
|
||||||
|
|
||||||
|
include::builders/queries.asciidoc[]
|
||||||
|
include::builders/aggs.asciidoc[]
|
|
@ -40,9 +40,9 @@ Java application that uses the `TransportClient` depends on the
|
||||||
`org.elasticsearch.client:transport` artifact. This dependency
|
`org.elasticsearch.client:transport` artifact. This dependency
|
||||||
must be replaced by a new dependency on the high-level client.
|
must be replaced by a new dependency on the high-level client.
|
||||||
|
|
||||||
The <<java-rest-high-usage,Getting Started>> page shows
|
The <<java-rest-high-getting-started,Getting Started>> page shows
|
||||||
typical configurations for Maven and Gradle and presents the
|
typical configurations for Maven and Gradle and presents the
|
||||||
<<java-rest-high-usage-dependencies, dependencies>> brought by the
|
<<java-rest-high-getting-started-dependencies, dependencies>> brought by the
|
||||||
high-level client.
|
high-level client.
|
||||||
|
|
||||||
=== Changing the client's initialization code
|
=== Changing the client's initialization code
|
||||||
|
|
|
@ -3,19 +3,21 @@
|
||||||
|
|
||||||
The Java High Level REST Client supports the following APIs:
|
The Java High Level REST Client supports the following APIs:
|
||||||
|
|
||||||
.Single document APIs
|
Single document APIs::
|
||||||
* <<java-rest-high-document-index>>
|
* <<java-rest-high-document-index>>
|
||||||
* <<java-rest-high-document-get>>
|
* <<java-rest-high-document-get>>
|
||||||
* <<java-rest-high-document-delete>>
|
* <<java-rest-high-document-delete>>
|
||||||
* <<java-rest-high-document-update>>
|
* <<java-rest-high-document-update>>
|
||||||
|
|
||||||
.Multi-document APIs
|
Multi document APIs::
|
||||||
* <<java-rest-high-document-bulk>>
|
* <<java-rest-high-document-bulk>>
|
||||||
|
|
||||||
.Search APIs
|
Search APIs::
|
||||||
* <<java-rest-high-search>>
|
* <<java-rest-high-search>>
|
||||||
* <<java-rest-high-search-scroll>>
|
* <<java-rest-high-search-scroll>>
|
||||||
* <<java-rest-high-clear-scroll>>
|
* <<java-rest-high-clear-scroll>>
|
||||||
|
|
||||||
.Miscellaneous APIs
|
Miscellaneous APIs::
|
||||||
* <<java-rest-high-main>>
|
* <<java-rest-high-main>>
|
||||||
|
|
||||||
|
include::apis/index.asciidoc[]
|
Loading…
Reference in New Issue