Elastisch 1.3.0-rc1 is released
TL;DR
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.
1.3.0-rc1
is a release candidate that is compatible with 1.2.0
.
Changes between Elastisch 1.3.0-beta5 and 1.3.0-rc1
Bulk Indexing Fix
Elastisch no longer erroneously inserts _index
and _type
fields
into documents inserted via bulk API.
Contributed by Max Barnash.
Result Scrolling as Lazy Sequences
clojurewerkz.elastisch.native.document/scroll-seq
and
clojurewerkz.elastisch.rest.document/scroll-seq
are new functions that accept a search query response
and return a lazy sequence of paginated search results.
This makes working with result sets that require pagination much more natural:
(require '[clojurewerkz.elastisch.native.document :as doc])
(let [index-name "articles"
mapping-type "article"
res-seq (doc/scroll-seq
(doc/search index-name mapping-type
:query (q/term :title "Emptiness")
:search_type "query_then_fetch"
:scroll "1m"
:size 2))]
res-seq))
Contributed by Max Barnash.
Change log
Elastisch change log is available on GitHub.
Thank You, Contributors
Kudos to Max Barnash 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
- Meltdown, a Clojure interface to Reactor
- 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.
Michael on behalf of the ClojureWerkz Team