Need help with tirexs?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Zatvobor
423 Stars 89 Forks Other 576 Commits 29 Opened issues

Description

An Elixir flavored HTTP client and DSL library for Elasticsearch

Services available

!
?

Need anything else?

Contributors list

Build Status HEX version HEX downloads Deps Status

An Elixir flavored HTTP client and DSL library for building JSON based settings, mappings, queries to Elasticsearch engine.

Getting Started

  1. Add this to the
    defp deps do
    list in your mix.exs file:
  {:tirexs, "~> 0.8"}
  1. Also in mix.exs, add
    :tirexs
    to the
    :applications
    list in
    def application
    .
  2. In config/dev.exs, configure
    tirexs
    :
   # The default uri is http://127.0.0.1:9200
   config :tirexs, :uri, "http://127.0.0.1:9200"

See lib/tirexs/env.ex for more configuration options. 4. Index a document:

  import Tirexs.HTTP

put("/my_index/users/1", [name: "Jane", email: "[email protected]"])

{:ok, 201,

%{_id: "1", _index: "my_index", _type: "users", _version: 1, created: true}}

  1. Fetch the document:
  get("/my_index/users/1")
  #  {:ok, 200,
  #   %{_id: "1", _index: "my_index",
  #     _source: %{email: "[email protected]", name: "Jane"}, _type: "users",
  #     _version: 1, found: true}}
  1. Simplified search:
  get("/my_index/users/_search?q=name:jane")
  #  {:ok, 200,
  #   %{_shards: %{failed: 0, successful: 5, total: 5},
  #     hits: %{hits: [%{_id: "1", _index: "my_index", _score: 0.30685282,
  #          _source: %{email: "[email protected]", name: "Jane"}, _type: "users"}],
  #       max_score: 0.30685282, total: 1}, timed_out: false, took: 10}}
  1. Query DSL
  import Tirexs.Search

query = search [index: "my_index"] do query do match "name", "jane" end end

[search: [query: [match: [name: [query: "jane"]]]], index: "my_index"]

Tirexs.Query.create_resource(query)

{:ok, 200,

%{_shards: %{failed: 0, successful: 5, total: 5},

hits: %{hits: [%{_id: "1", _index: "my_index", _score: 0.30685282,

_source: %{email: "[email protected]", name: "Jane"}, _type: "users"}],

max_score: 0.30685282, total: 1}, timed_out: false, took: 5}}

Check out /examples directory as a quick intro.

Gitter

tirexs is split into several layers

Find out more in api reference

Not sure?

Look around using https://hex.pm/packages?search=elasticsearch... to find out some other packages.

Contributing

If you feel like porting or fixing something, please drop a pull request or issue tracker at GitHub! Check out the CONTRIBUTING.md for more details.

License

Tirexs
source code is released under Apache 2 License. Check LICENSE and NOTICE files for more details. The project HEAD is https://github.com/zatvobor/tirexs.

Analytics

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.