GitHub releases Golang library for Elasticsearch – Meet Vulcanizer a focused Go API
Love Elasticsearch? Crank your love up another degree with the new Elasticsearch library from GitHub. Vulcanizer is a focused Go API that helps with common tasks associated with operating an Elasticsearch cluster. See what current features it has and what the roadmap holds for the future.
Elasticsearch is used as the backend of GitHub searches and has been a fan favorite since its inception. It is a distributed, RESTful search and analytics engine that packs a lot of power under its belt. Not only does it perform searches quickly, but also features impressive scalability for individual use or running on a multitude of servers.
A new library for operating Elasticsearch from GitHub Engineering hit the scene a couple of days ago It offers new features and improvements to the infrastructure. Meet Vulcanizer – the focused Elasticsearch library! While there are already plenty of libraries for Elasticsearch available, let’s see what makes this new addition special.
Unraveling the Vulcanizer API
Vulcanizer is a golang library that interacts with an Elastsearch cluster. Its name is a clever take on the vulcanization chemical process (and it also helps that its name reminds us of Spock).
While it is not a full-fledged API client, it will help you with common tasks while operating a cluster. These tasks include querying health status, migrating data off of nodes, and updating cluster settings.
Its initial goals were simple: Access the REST endpoints on a single host; Perform an action; Provide results of the action.
You can perform custom operations in your Go application:
import "github.com/github/vulcanizer" v = vulcanizer.NewClient("localhost", 9200) oldSetting, newSetting, err := v.SetSetting("indices.recovery.max_bytes_per_sec", "1000mb")
Find some helpful examples on the GitHub Engineering announcement blog.
Currently, Integration tests are set up to run against the latest v5 and v6 versions of Elasticsearch.
Find the repo on GitHub and get up and running.
Currently, the project is still under active development, so expect to see some issues and changes in the future. View the roadmap for a more in-depth look of the current version features and proposed future development plans.
Proposed ideas include shard allocation and much more. While the GitHub Engineering blog details some of the pitfalls that the team initially ran into, things are going much more smoothly and promise a bright future for Vulcanizer.
Will this API suit any of your needs and make operating clusters better for you?
The news of this library also coincides with a new announcement from Elastic.co. There is now a new private Elasticsearch subscription tier. This addresses the growing needs in their already existing subscription plan. (Of course, the free open source version is still available.) Is this new subscription tier right for your environment?
Meanwhile, the most recent version of Elasticsearch arrived in mid-February with version 7.0.0 Beta 1.
This new version came packaged with faster queries, smooth zoom on maps, and better integration with Stack features.
Check out the repo on GitHub and see what the buzz is all about.