elastic4s - Elasticsearch Scala Client - Non Blocking, Type Safe, HTTP, TCP

  •        204

Elastic4s is a concise, idiomatic, reactive, type safe Scala client for Elasticsearch. The client can be used over both HTTP and TCP by choosing either of the elastic4s-http or elastic4s-tcp submodules. The official Elasticsearch Java client can of course be used in Scala, but due to Java's syntax it is more verbose and it naturally doesn't support classes in the core Scala core library nor Scala idioms.Elastic4s's DSL allows you to construct your requests programatically, with syntactic and semantic errors manifested at compile time, and uses standard Scala futures to enable you to easily integrate into an asynchronous workflow. The aim of the DSL is that requests are written in a builder-like way, while staying broadly similar to the Java API or Rest API. Each request is an immutable object, so you can create requests and safely reuse them, or further copy them for derived requests. Because each request is strongly typed your IDE or editor can use the type information to show you what operations are available for any request type.

https://github.com/sksamuel/elastic4s

Tags
Implementation
License
Platform

   




Related Projects

elasticsearch-py - Official Python low-level client for Elasticsearch.


Official low-level client for Elasticsearch. Its goal is to provide common ground for all Elasticsearch-related code in Python; because of this it tries to be opinion-free and very extendable.For a more high level client library with more limited scope, have a look at elasticsearch-dsl - a more pythonic library sitting on top of elasticsearch-py.

Jest - ElasticSearch Java Rest Client


Jest is a Java HTTP Rest client for ElasticSearch. ElasticSearch already has a Java API which is also used by ElasticSearch internally, but Jest fills a gap, it is the missing client for ElasticSearch Http Rest interface.

elasticsearch-dsl-py - High level Python client for Elasticsearch


Elasticsearch DSL is a high-level library whose aim is to help with writing and running queries against Elasticsearch. It is built on top of the official low-level client (elasticsearch-py).It provides a more convenient and idiomatic way to write and manipulate queries. It stays close to the Elasticsearch JSON DSL, mirroring its terminology and structure. It exposes the whole range of the DSL from Python either directly using defined classes or a queryset-like expressions.

elastic - Elasticsearch client for Go.


Elastic is an Elasticsearch client for the Go programming language.See the wiki for additional information about Elastic.


searchkick - Intelligent search made easy with Rails and Elasticsearch


Searchkick learns what your users are looking for. As more people search, it gets smarter and the results get better. It’s friendly for developers - and magical for your users.The latest version works with Elasticsearch 2 and 5. For Elasticsearch 1, use version 1.5.1 and this readme.

Mirage - An interactive query explorer for Elasticsearch


Mirage is a modern, open-source web based query explorer for Elasticsearch. It offers a blocks based GUI for composing Elasticsearch queries and comes with an on-the-fly transformer to show the corresponding JSON query API of Elasticsearch.

elasticsearch-gui - An angularJS client for elasticsearch as a plugin


Welcome to the Gui plugin for elasticsearch. Using this plugin you can explore your elasticsearch index. This plugin gives you a few different ways to start exploring. There is a way to search the repository in a way you would do it on a web site. You can enter keywords, do advanced search, use facets. Another way to explore the index is focussed on learning the structure of the actual executed query. You can enter a number of items to include in the query. You can enter fields, facets, highlighting, limit the indexes, limit the types. Finally there is a way to show some of the data in a graph. Since we use mainly JavaScript, it is possible to connect to a remote elasticsearch instance. To facilitate this, elasticsearch returns a specific html header.

kopf - Web admin interface for elasticsearch


kopf is a simple web administration tool for elasticsearch written in JavaScript + AngularJS + jQuery + Twitter bootstrap. It offers an easy way of performing common tasks on an elasticsearch cluster. Not every single API is covered by this plugin, but it does offer a REST client which allows you to explore the full potential of the ElasticSearch API.

elasticsearch-net - Elasticsearch.Net & NEST


Repository for both NEST and Elasticsearch.Net, the two official elasticsearch .NET clients.Please consult the current upgrading Elasticsearch guidelines to understand what you should consider when upgrading from an older version of Elasticsearch to a newer one.

bloodhound - Haskell Elasticsearch client and query DSL


Search doesn't have to be hard. Let the dog do it."ES is a nightmare but Bloodhound at least makes it tolerable." - Same user, later opinion.

dejavu - The Missing Web UI for Elasticsearch


dejavu is the missing Web UI for Elasticsearch. Its goal is to build a modern Web UI (no page reloads, infinite scroll, filtered views, realtime updates) with 100% client side rendering. It is available today as a hosted app, chrome extension and as a docker image.

elasticsearch-rails - Elasticsearch integrations for ActiveModel/Record and Ruby on Rails


Elasticsearch client and Ruby API is provided by the elasticsearch-ruby project.The libraries are compatible with Ruby 1.9.3 and higher.

elasticsearch-ruby - Ruby integrations for Elasticsearch


For integration with Ruby models and Rails applications, see the elasticsearch-rails project.The Elasticsearch client is compatible with Ruby 1.8.7 and higher. Other libraries in this repository might require a more recent Ruby version.

elasticsearch-php - Official PHP low-level client for Elasticsearch.


Official low-level client for Elasticsearch. Its goal is to provide common ground for all Elasticsearch-related code in PHP; because of this it tries to be opinion-free and very extendable.To maintain consistency across all the low-level clients (Ruby, Python, etc), clients accept simple associative arrays as parameters. All parameters, from the URI to the document body, are defined in the associative array.

Bigdesk - Live charts and statistics for Elasticsearch cluster.


Bigdesk helps to generate live charts and statistics for Elasticsearch cluster. It very easy to see how your Elasticsearch cluster is doing. It pulls data from Elasticsearch REST API and turns it into charts.

elastalert - Easy & Flexible Alerting With ElasticSearch


ElastAlert is a simple framework for alerting on anomalies, spikes, or other patterns of interest from data in Elasticsearch. ElastAlert works with all versions of Elasticsearch. If you have data being written into Elasticsearch in near real time and want to be alerted when that data matches certain patterns, ElastAlert is the tool for you. If you can see it in Kibana, ElastAlert can alert on it.