I was on Github and I saw that apparently there is an official client for Elasticsearch written in Rust which is a language that I admire a lot. Here is the link.
However they say:
The project is still very much a work in progress and in an alpha state; input and contributions welcome!
When they say alpha state, do they talk about the lack of stability or the fact that it is stable and appropriate enough for a corporation/production use but there are features which are not still available?
Hi @odyssey_2001 Welcome to the community and thanks for trying the Rust client.
In general Elastic does not recommend running any Elastic projects / component / code in production that is not marked GA.
The Rust client is alpha which means it will still need to progress through Beta before it becomes GA, Only then would we recommend running in production.
With other components that we release in alpha the API could change or performance could change significantly as the software matures.
Of course there'd be no formal support until it reaches GA either.
Perhaps @Russ_Cam can comment or be more specific on the Rust client.
Thanks a lot for this information. The "GA" flag you are talking about, is it indicated on Github allowing to know whether the client is ready for production use? For example I was checking the official Python client here but I didn't find it.
One last question : Even approximately, is there by any chance any deadline/calendar indicating when Rust client might become GA (to know finally which client to choose which obviously impacts training, resource investment, etc. for the organization)?
The Rust client is currently still marked as alpha, primarily due to
Maturity/Confidence in the design of the client API
Request and Response types
For point 1, the design of the client API hasn't drastically changed since the first client release and I wouldn't expect it to drastically change going forward. The client supports all Elasticsearch APIs, including beta and experimental APIs (through features). The performance of the client over time can be seen on the client benchmarks.
The biggest missing piece are request and response types, which I would expect to come out of the effort going into the Elasticsearch specification. This issue is being tracked at
I wouldn't say that request and response types are a necessary piece for the client becoming GA, though they are an important piece in providing a more ergonomic client in a statically typed language.
If you were to use the Rust client and come across issues, we'd love to hear about them on the GitHub repository, though as @stephenb says, there is no formal support for alpha software.
Thank you very much for this detailed presentation. I think, even in its alpha state, I'm going to give it a try. Anyway, one day it will ultimately become GA, so better to at least start learning how to use it now. Thanks for your time.
In the case of the Rust client, a GA version of the client would be a published crate version that does not have a prerelease suffix, such as -alpha.1.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.