The olivere/elastic library is deprecated, but our Elasticsearch/OpenSearch storage implementation is heavily dependent on it. Bugs like this #2192 (comment) cannot be resolved.
Objective: Investigate available options for Go drivers for ES/OS and compile a report so that we can build a roadmap around it.
- Which libraries are available for use
- What are their version compatibility profiles for the ES/OS versions we currently support
- Is there one library that can continue to work across both ES and OS
- What are the differences in how that library works compared to
olivere/elastic
- How much changes would we need to make internally
Worth noting that our use of olivere/elastic is indirect, we have a shim layer internal/storage/elasticsearch/client/interfaces.go that attempts (only partially) to abstract away the underlying driver.
The
olivere/elasticlibrary is deprecated, but our Elasticsearch/OpenSearch storage implementation is heavily dependent on it. Bugs like this #2192 (comment) cannot be resolved.Objective: Investigate available options for Go drivers for ES/OS and compile a report so that we can build a roadmap around it.
olivere/elasticWorth noting that our use of
olivere/elasticis indirect, we have a shim layerinternal/storage/elasticsearch/client/interfaces.gothat attempts (only partially) to abstract away the underlying driver.