You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,11 +11,12 @@
11
11
## Key Features
12
12
13
13
**Unified Elasticsearch API**
14
-
This project provides a trait-based interface (`ElasticClientApi`) that aggregates the core functionalities of Elasticsearch: indexing, searching, scrolling, updating, deleting, mapping, aliases, refreshing, and [more](documentation/client/README.md). This design abstracts the underlying client implementation and ensures compatibility across different Elasticsearch versions.
14
+
This project provides a trait-based interface (`ElasticClientApi`) that aggregates the core functionalities of Elasticsearch: [indexing](documentation/client/index.md), [updating](documentation/client/update.md), [deleting](documentation/client/delete.md), [bulk](documentation/client/bulk.md), [searching](documentation/client/search.md), [scrolling](documentation/client/scroll.md), [mapping](documentation/client/mappings.md), [aliases](documentation/client/aliases.md), [refreshing](documentation/client/refresh.md), and [more](documentation/client/README.md).
15
+
This design abstracts the underlying client implementation and ensures compatibility across different Elasticsearch versions.
15
16
16
-
-`JestClientApi`: For Elasticsearch 6 using the open-source [Jest client](https://github.com/searchbox-io/Jest).
17
+
-`JavaClientApi`: For Elasticsearch 8 and 9 using the official Java client.
17
18
-`RestHighLevelClientApi`: For Elasticsearch 6 and 7 using the official high-level REST client.
18
-
-`ElasticsearchClientApi`: For Elasticsearch 8 and 9 using the official Java client.
19
+
-`JestClientApi`: For Elasticsearch 6 using the open-source [Jest client](https://github.com/searchbox-io/Jest).
19
20
20
21
By relying on these concrete implementations, developers can switch between versions with minimal changes to their business logic.
21
22
@@ -28,12 +29,16 @@ Elastic Client provides tools to analyze and compare existing mappings with new
28
29
**High-Performance Bulk API with Akka Streams**
29
30
Bulk operations leverage the power of Akka Streams to efficiently process and index large volumes of data. This stream-based approach improves performance, resilience, and backpressure handling, especially for real-time or high-throughput indexing scenarios.
30
31
32
+
**Scroll API with automatic Scroll Strategy detection**
33
+
The Scroll API is also integrated with Akka Streams, enabling efficient retrieval of large datasets in a streaming fashion. This allows applications to process search results incrementally, reducing memory consumption and improving responsiveness.
34
+
It automatically selects the optimal scrolling strategy (PIT + search_after, search_after, or classic scroll) based on your query and Elasticsearch version.
35
+
31
36
**Akka Persistence Integration**
32
37
The project offers seamless integration with Akka Persistence. This enables Elasticsearch indices to be updated reactively based on persistent events, offering a robust pattern for event-sourced systems.
33
38
34
39
## Roadmap
35
40
36
-
Future enhancements include expanding the SQL parser to support additional operations such as `INSERT`, `UPDATE`, and `DELETE`. The long-term vision is to deliver a fully functional, open-source **JDBC connector for Elasticsearch**, empowering users to interact with their data using standard SQL tooling.
41
+
Future enhancements include expanding the SQL parser to support additional operations such as `CREATE`, `ALTER`, `INSERT`, `UPDATE`, and `DELETE`. The long-term vision is to deliver a fully functional, open-source **JDBC connector for Elasticsearch**, empowering users to interact with their data using standard SQL tooling.
0 commit comments