Skip to content

Commit 3e6f05c

Browse files
committed
Remove beta status and simplify README
1 parent e8423e1 commit 3e6f05c

File tree

1 file changed

+1
-85
lines changed

1 file changed

+1
-85
lines changed

README.md

Lines changed: 1 addition & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@
44

55
The official Java client for [Elasticsearch](https://github.com/elastic/elasticsearch).
66

7-
---
8-
9-
**Note: this project is still in beta.** This client is meant to replace the existing [Java High Level Client](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html) and remove all dependencies to the Elasticsearch server code base.
10-
11-
---
12-
137
The Java client for Elasticsearch provides strongly typed requests and responses for all Elasticsearch APIs. It delegates protocol handling to an http client such as the [Elasticsearch Low Level REST client](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-low.html) that takes care of all transport-level concerns (http connection establishment and pooling, retries, etc).
148

159
The `docs/design` folder contains records of the major decisions in the design of the API. Most notably:
@@ -18,88 +12,10 @@ The `docs/design` folder contains records of the major decisions in the design o
1812
- Nested objects can be constructed with builder lambdas, allowing for clean and expressive DSL-like code.
1913
- Optional values are represented as `null` with `@Nullable` annotations instead of the newer `Optional`, the Java ecosystem being still very null-based.
2014

21-
## Getting started
15+
## Documentation
2216

2317
Please refer to [the full documentation on elastic.co](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html) for comprehensive information.
2418

25-
### Installing the library
26-
27-
This library requires at least Java 8.
28-
29-
Along with this library, you also need a JSON/object mapping library. `elasticsearch-java` has built-in support for [Jackson](https://github.com/FasterXML/jackson) and [JSON-B](http://json-b.net/) implementations such as [Eclipse Yasson](https://github.com/eclipse-ee4j/yasson).
30-
31-
Releases are hosted on [Maven Central](https://search.maven.org/search?q=g:co.elastic.clients). If you are looking for a SNAPSHOT version, the Elastic Maven Snapshot repository is available at https://snapshots.elastic.co/maven/.
32-
33-
Gradle project (Groovy flavor) setup using Jackson:
34-
35-
```groovy
36-
dependencies {
37-
implementation 'co.elastic.clients:elasticsearch-java:7.15.0'
38-
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'
39-
}
40-
```
41-
42-
In the `pom.xml` for your project add the following repository definition and dependencies:
43-
44-
```xml
45-
<project>
46-
<dependencies>
47-
<dependency>
48-
<groupId>co.elastic.clients</groupId>
49-
<artifactId>elasticsearch-java</artifactId>
50-
<version>7.15.0</version>
51-
</dependency>
52-
<dependency>
53-
<groupId>com.fasterxml.jackson.core</groupId>
54-
<artifactId>jackson-databind</artifactId>
55-
<version>2.12.3</version>
56-
</dependency>
57-
</dependencies>
58-
59-
</project>
60-
```
61-
62-
### Your first request
63-
64-
```java
65-
// Create the low-level client
66-
RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200)).build();
67-
68-
// Create the transport that provides JSON and http services to API clients
69-
Transport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
70-
71-
// And create our API client
72-
ElasticsearchClient client = new ElasticsearchClient(transport);
73-
74-
// Search all items in an index that contains documents of type AppData
75-
SearchResponse search = client.search(s -> s
76-
.index("test-index"),
77-
AppData.class
78-
);
79-
80-
if (search.hits().hits().isEmpty()) {
81-
System.out.println("No match");
82-
} else {
83-
for (Hit<AppData> hit : search.hits().hits()) {
84-
processAppData(hit._source());
85-
}
86-
}
87-
```
88-
89-
## Compatibility
90-
91-
The `main` branch targets the next major release (8.0) and the `7.x` branch targets the next minor release. Support is still incomplete as the API code is generated from the [Elasticsearch Specification](https://github.com/elastic/elasticsearch-specification) that is also still a work in progress.
92-
93-
The Elasticsearch Java client is forward compatible; meaning that the client supports communicating with greater minor versions of Elasticsearch. Elastic language clients are also backwards compatible with lesser supported minor Elasticsearch versions.
94-
95-
## Current status
96-
97-
Beta state means we don't expect large architectural changes and the library is already fairly usable. This library also essentially deals with request & response serialization & deserialization and delegates all http request processing to the battle-tested [Low Level Rest Client](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-low.html).
98-
99-
What's missing falls in two main categories, related to the [Elasticsearch specification](https://github.com/elastic/elasticsearch-specification):
100-
* incomplete support for some data types used in specification (e.g. unions). Until they have been implemented in the code generator, they are represented as raw `JsonValue` objects.
101-
* incomplete APIs: as the API specification is still incomplete, so are their implementations in this library since their code is entirely generated from the spec.
102-
10319
## Contributing
10420

10521
See [CONTRIBUTING.md](./CONTRIBUTING.md)

0 commit comments

Comments
 (0)