Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Elasticsearch 5.x Low-Level REST client #14

Open
joschi opened this issue Mar 24, 2017 · 5 comments
Open

Use Elasticsearch 5.x Low-Level REST client #14

joschi opened this issue Mar 24, 2017 · 5 comments

Comments

@joschi
Copy link

joschi commented Mar 24, 2017

Elasticsearch 5.0.0 introduced the low-level Java REST client which is based on Apache HttpComponents and, among other things supports "sniffing" the Elasticsearch cluster topology.

It would be great if Flummi could build upon this officially supported way to connect to Elasticsearch.

If you're interested in this, I could probably provide a pull request implementing this (breaking) change.

@BastianVoigt
Copy link
Contributor

Sounds interesting. Is this client capable of talking to elastic 2.4 instances?

@joschi
Copy link
Author

joschi commented Apr 19, 2017

@BastianVoigt In the end the low-level REST client is just a glorified HTTP client. No business-logic or Elastiscearch specifics (except for the Sniffer, which is optional) have been implemented on it.

@zarucki
Copy link
Contributor

zarucki commented Apr 19, 2017

Well it has some cluster features like load balancing, connection pooling, some failover logic. https://www.elastic.co/guide/en/elasticsearch/client/java-rest/5.2/_features.html

@BastianVoigt
Copy link
Contributor

That sounds quite interesting. If one of you has the time to give it a try, I would happily review your pull request :)

@BastianVoigt
Copy link
Contributor

I just gave it a little try. Unfortunately the low-level rest client is not very well usable yet. It seems it doesn't support changing the timeout per-request, and also it hides Apache's HTTPRequest builder pattern behind an ugly single-method-call which is not very convenient. However the cluster load-balancing feature is promising. Needs some more love before it compiles (70 compiler errors). Pushed it to a branch "low-level-client", so if anyone has the time to finish it, please go for it :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants