Go-elasticsearch versus Olivere golang client

I am planning to migrate from golang Olivere to the official go-elasticsearch API for a data ingestion application running in K8s container. This I am doing mainly because I read Olivere is not committing to support Elasticseach 8 in the future. Is that really true?
My application need APIs for creating and deleting indexes, finding indexes in an alias, add indices to alias, document indexing, efficient bulk indexing. So far in go-elasticsearch package, I found APIs only for index creation and sequential indexing of documents. For other missing APIs, do I need to call the Elasticsearch REST API directly from my golang code? If you have the other APIs available, I would like to know the path to that resource.


first, I suppose the answer that you are referring to is this GitHub issue where Oliver answered. I think it is perfectly fine to state in advance that a single developer (see https://github.com/olivere/elastic/graphs/contributors) who has been taking care of the client for seven years, cannot give you any guarantee that this piece of software will live on. You could ask him to pay for further development, if you are dependent on it or help maintaining it.

That said, the elasticsearch go client seems to support creating and deleting indices, the alias API as well as a bulk indexer. Did you look at an older version by chance?

See https://github.com/elastic/go-elasticsearch/tree/7.10/esapi

Hope this helps!


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.