Elastic - Elasticsearch Client for Go
The go-to unofficial Elasticsearch client for Go with 7,500+ GitHub stars, used in production since 2012.
Created and maintained the de facto standard Elasticsearch client for Go until Elastic officially released their own Go driver. The library grew to 7,500+ stars and 1,200+ forks on GitHub, with widespread adoption across the Go ecosystem. Used in production since 2012, successfully tested across Elasticsearch versions 0.90 through 7.x.
Adoption and impact
The library filled a critical gap in the Go ecosystem for over a decade. Before Elastic created their official Go client, olivere/elastic was the standard choice for any Go application integrating with Elasticsearch. The project's success ultimately influenced Elastic's decision to build an official driver.
- 7,500+ GitHub stars, 1,200+ forks
- MIT licensed, open to community contributions
- De facto standard for Go + Elasticsearch until the official client
- Used in production by companies worldwide since 2012
Comprehensive API coverage
Built and maintained complete coverage of the Elasticsearch API across multiple major versions, tracking upstream changes as Elasticsearch evolved. Each major Elasticsearch release got a corresponding library version with a stable, idiomatic Go API.
- Full query DSL: match, term, bool, nested, function score, and more
- Aggregation framework: bucket, metrics, and pipeline aggregations
- Index management, mappings, settings, and templates
- Bulk operations, scroll, reindex, and update-by-query
- Snapshot/restore, ingest pipelines, and task management
- X-Pack integration: security, monitoring, watcher