# Elastic

![GitHub Action Status](

_You Know, for (Elastic) Search._

Want to talk to Elastic Search in Elixir, but don't want to use raw HTTP calls? This package is for you.

## Installation

1. Add it as a dependency in `mix.exs`:

defp deps do
    {:elastic, "~> 3.0"}

2. Run `mix deps.get`

3. Add it to the applications list in `mix.exs`:

def application do
  [extra_applications: [:elastic]]

## Docs

Documentation can be found on [](

## There's a bug / I have a feature request

If you've found a bug, please [create a new issue]( or [submit a pull request]( to fix that bug.

If you've got a feature request, then please submit a pull request which adds the functionality you want.

## ElasticSearch version

This package is designed to work with and routinely tested against the following ElasticSearch versions:

- 2.4.x
- 5.x
- 6.x

If you find any incompatibility issues, please file a GitHub issue about it here, or even better open a pull request to fix it. Thanks!

## Elastic / Elastix / Tirexs

There's a similar package called [Elastix](, which provides similar functionality. I only found out about this package _after_ I wrote Elastic and was using it in production; after first trialling [tirexs]( -- and not finding its code very easy to understand.

It looks like the creator of Elastix and I have similar design ideals, so it really does come down to personal choice when deciding which library to use. I think Elastic has [better documentation]( Elastix has a Mapping API, but Elastic has a Scrolling API.

Choose your own adventure ;)