A deprecated Go client for Elasticsearch, now superseded by the official Elasticsearch client.
Elastic is a Go client library for interacting with Elasticsearch, providing a comprehensive and idiomatic interface for Go applications. It solves the problem of integrating Go services with Elasticsearch by offering stable, version-aligned APIs that cover most Elasticsearch features, from document operations to complex queries and aggregations.
Go developers building applications that require search, analytics, or data indexing with Elasticsearch, particularly those needing production-ready, version-specific compatibility.
Developers choose Elastic for its long-term stability (used in production since 2012), comprehensive API coverage that matches Elasticsearch's evolution, and clear version alignment with separate branches for each major Elasticsearch release to ensure compatibility.
Deprecated: Use the official Elasticsearch client for Go at https://github.com/elastic/go-elasticsearch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Actively used in production since 2012 with a focus on API compatibility and critical bug fixes across Elasticsearch versions, as stated in the README.
Implements most Elasticsearch APIs including Document, Search, Aggregations, and Query DSL, evidenced by the detailed API status list with many checked items.
Maintains separate branches for each major Elasticsearch version (e.g., v7, v6) to ensure compatibility and prevent breaking changes, as outlined in the version matrix.
Offers a wiki, recipes for common tasks like bulk indexing and scrolling, and detailed examples that aid implementation, as mentioned in the Getting Started section.
The main GitHub branch is for active development and not recommended for production, forcing users to rely on version-specific branches which can complicate updates and integration.
Several enterprise features from Elasticsearch's X-pack, such as Boxplot aggregation and Inference bucket, are marked as not implemented, limiting functionality for advanced use cases.
Users must navigate multiple import paths and branches (e.g., different package URLs for v5, v6, v7), increasing the risk of configuration errors and dependency issues.