Elastisch is a battle tested, small but feature rich and well documented Clojure client for ElasticSearch. It supports virtually every Elastic Search feature and has solid documentation.

2.1.0-beta1 is a preview release of Elastisch 2.1 which introduces a minor feature.

Changes between Elastisch 2.1.0-beta8 and 2.1.0-beta9

Ability to Specify Aliases In index.create-template now supports the :aliases option:

(require '[ :as idx])

(idx/create-template conn "accounts" {:template "account*" :settings {:index {:refresh_interval "60s"}} :aliases {:account-alias {}}})

Contributed by Jeffrey Erikson.

Changes between Elastisch 2.1.0-beta7 and 2.1.0-beta8

clj-http Update

clj-http dependency has been upgraded to version 1.0.x.

Allow Retry On Conflict Option

Updates and upserts now allow the retry-on-conflict option to be set. This helps to work around Elasticsearch version conflicts.

GH issue: #119.

Contributed by Michael Nussbaum (Braintree).

Changes between Elastisch 2.1.0-beta6 and 2.1.0-beta7

REST API Bulk Indexing Filters Out Operation Keys now filters out all operation/option keys so that they don’t get stored in the document body.

GH issue: #116.

Contributed by Michael Nussbaum (Braintree).

Full Change Log

Elastisch change log is available on GitHub.

Thank You, Contributors

Kudos to Michael Nussbaum and Jeffrey Erikson for contributing to this release.

Elastisch is a ClojureWerkz Project

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

  • Langohr, a Clojure client for RabbitMQ that embraces the AMQP 0.9.1 model
  • Monger, a Clojure MongoDB client for a more civilized age
  • Cassaforte, a Clojure Cassandra client
  • Titanium, a Clojure graph library
  • Neocons, a client for the Neo4J REST API
  • Welle, a Riak client with batteries included
  • Quartzite, a powerful scheduling library

and several others. If you like Elastisch, you may also like our other projects.

Let us know what you think on Twitter or on the Clojure mailing list.

About the Author

Michael on behalf of the ClojureWerkz Team