Elastisch, a Clojure client for ElasticSearch
Elastisch is a Clojure client for ElasticSearch, a modern distributed RESTful search engine.
- Be reasonably feature complete
- Be well documented
- Be well tested
- Closely follow recent Elastic Search releases & developments
- Be well maintained
- Learn from other clients like the Java and Ruby ones
- Target Clojure 1.3.0 and later from the ground up
Documentation & Examples
We are working on documentation guides & examples site for the 1.0 release. In the meantime, please refer to the test suite for code examples.
Elastisch has a mailing list. Feel free to join it and ask any questions you may have.
To subscribe for announcements of releases, important changes and so on, please follow @ClojureWerkz on Twitter.
This is a Work In Progress
Core Elastisch APIs are not fully stabilized, it is still largely a work in progress. Keep that in mind. 1.0 will be released when we are confident in the public API, reached feature completeness and have documentation guides on a dedicated website.
<dependency> <groupId>clojurewerkz</groupId> <artifactId>elastisch</artifactId> <version>1.0.0-alpha4</version> </dependency>
If you feel comfortable using snapshots:
<dependency> <groupId>clojurewerkz</groupId> <artifactId>elastisch</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>
Snapshot artifacts are released to Clojars every few days.
Supported Clojure versions
Elastisch is built from the ground up for Clojure 1.3 and up.
Elastisch Is a ClojureWerkz Project
Elastisch uses Leiningen 2. Make sure you have it installed and then run tests against all supported Clojure versions using
lein2 all test
Then create a branch and make your changes on it. Once you are done with your changes and all tests pass, submit a pull request on Github.
Copyright (C) 2011-2012 Alex Petrov, Michael S. Klishin
Distributed under the Eclipse Public License, the same as Clojure.
Why Not Wrap the Java Client?
Wrapping ES Java client may produce a performance gain but we don't see that to be very useful, and following Java client conventions would likely make Elastish less Clojurish.