Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A minimalistic Clojure client for ElasticSearch, supports both HTTP and native transports

README.md

Elastisch, a Clojure client for ElasticSearch

Elastisch is a minimalistic Clojure client for ElasticSearch, a modern distributed search engine.

Project Goals

  • Be reasonably feature complete
  • Be well documented
  • Be well tested
  • Closely follow ElasticSearch API structure, no new abstractions introduced
  • Support multiple transports: HTTP, native ES client, possibly more (e.g. Memcached)
  • Follow recent ElasticSearch releases & developments

Community

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.

Project Maturity

Elastisch is a not a young project. Started in late 2011, it has been used in production since the early days. Elastisch API is stabilized. 1.0 was released in September 2012.

Elastisch 2.0 requires ElasticSearch 1.0.

Artifacts

Elastisch artifacts are released to Clojars.

If you are using Maven, add the following repository definition to your pom.xml:

<repository>
  <id>clojars.org</id>
  <url>http://clojars.org/repo</url>
</repository>

The Most Recent Release

With Leiningen:

[clojurewerkz/elastisch "2.0.0-beta5"]

With Maven:

<dependency>
  <groupId>clojurewerkz</groupId>
  <artifactId>elastisch</artifactId>
  <version>2.0.0-beta5</version>
</dependency>

Documentation & Examples

Please see our documentation guides site.

Our test suite also has many code examples.

Supported Clojure Versions

Elastisch requires Clojure 1.4. The most recent stable release is highly recommended.

Supported ElasticSearch Versions

Elastisch 2.0 requires ElasticSearch 1.0.

Elasitsch 1.4 supports ElasticSearch 0.90.x and has known incompatibilities with ES 1.0 in both REST and native clients.

REST and Native Clients

Elastisch provides HTTP and native (transport) clients with nearly identical API as of 1.1.0.

Elastisch Is a ClojureWerkz Project

Elastisch is part of the group of Clojure libraries known as ClojureWerkz, together with

and several others.

Continuous Integration

Continuous Integration status

Development

ElasticSearch Setup

Elastisch needs ElasticSearch running locally (127.0.0.1). ES_CLUSTER_NAME need to be exported with the name of the local cluster. To find it out, use

curl http://localhost:9200/_cluster/nodes

Running Tests

To run Elastisch tests, make sure you have ElasticSearch running. It must be the same version that Elastisch depends on due to binary protocol changes between releases. project.clj or project page on Clojars can help find that out.

Finally, run all tests with

lein all test

To run only HTTP client tests, use

lein all test :ci

Leiningen

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.

License

Copyright (C) 2011-2014 Alex Petrov, Michael S. Klishin

Distributed under the Eclipse Public License, the same as Clojure.

Bitdeli Badge

Something went wrong with that request. Please try again.