elastic/go-elasticsearch

The official Go client for Elasticsearch

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 32 minutes ago
Added to GitGenius on April 7th, 2021
Created on March 27th, 2017
Open Issues & Pull Requests: 30 (+0)
GitHub issues: Enabled
Number of forks: 645
Total Stargazers: 6,066 (+0)
Total Subscribers: 349 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 13.3 days
Mean response time: 323.6 days
90th percentile: 1371.0 days
Tracked items: 116

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 7, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 16
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 152 days
Stale 30+ days: 16
Stale 90+ days: 12

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • State: Awaiting Response (22)
  • Category: Question (18)
  • State: Stale (18)
  • Category: Enhancement (14)
  • Category: Bug (12)
  • Area: Helpers (9)
  • tracking (8)
  • good first issue (7)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

The go-elasticsearch repository is the official Go client library for Elasticsearch, maintained by Elastic. It provides Go developers with a comprehensive interface to interact with Elasticsearch clusters, supporting all major operations including index creation, document indexing and retrieval, searching, updating, and deletion. The client is written in Go and serves as a critical component in the Elastic Stack ecosystem for applications requiring search and analytics capabilities.

The library offers both low-level and typed API approaches for interacting with Elasticsearch. The typed API provides compile-time safety and better developer experience, while the low-level API offers flexibility for advanced use cases. The client includes the esutil package with convenience helpers such as JSONReader and BulkIndexer to simplify common operations like bulk indexing of documents. Additional resources include esdsl builders for constructing complex queries and comprehensive examples in the _examples folder demonstrating configuration, customization, security setup with custom certificates, transport mocking for testing, and various query patterns.

Compatibility is a key design consideration for this client. Starting from version 8.12.0, the library follows Go's official release policy, supporting each major Go release until two newer major releases are available. The client maintains forward compatibility with Elasticsearch, meaning it supports communication with greater or equal minor versions of the target Elasticsearch instance. Multiple versions of the client can coexist in a single project through Go modules, allowing developers to gradually migrate between major versions. The main branch tracks the current master branch of Elasticsearch.

The repository shares contributors with other projects including github/gh-aw, solo-io/gloo, and longhorn/longhorn, indicating cross-project collaboration within the broader ecosystem.

The client supports comprehensive CRUD operations and search functionality, with detailed documentation available on elastic.co covering getting started, configuration, API usage patterns, typed API features, and advanced topics including interceptors and observability. Installation and connection setup are documented separately to guide users through initial setup. The library is licensed under the Apache 2 license, making it suitable for both open source and commercial applications.