lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hello everyone,

I am happy to announce version 1.0.0 of elasticsearch-lua, the Lua interface to Elasticsearch.

Elasticsearch[1] is a distributed, scalable and full-text search engine based on Lucene. It is presently ranked 1[2] in the category of 'Search engines'. Elasticsearch is used in a number of companies such as Ebay, Verizon, Symantec, Netflix, Cisco, CERN, Facebook, Microsoft, Mozilla, Adobe, IBM, Github, etc.[3]

elasticsearch-lua[4] is a client for Elasticsearch written for the Lua programming language. I completed it as part of GSOC'16 with my mentor Pablo Musa.

- Support for complete functionality with Elasticsearch 2.4.1 such as:
  - Indexing documents
  - Retrieving documents
  - Searching within documents
  - Updating/deleting documents
  - Performing operations in 'bulk'
- Proper load balancing across all nodes.
- Pluggable and multiple connection, selection strategies and connection pool.

elasticsearch-lua is compatible with Lua version > 5.1

Documentation: http://elasticsearch-lua.readthedocs.io/
Source Code: https://github.com/DhavalKapil/elasticsearch-lua
Luarocks: https://luarocks.org/modules/dhavalkapil/elasticsearch

Basic Usage:

-- Install
luarocks install elasticsearch

local elasticsearch = require "elasticsearch"
local client = elasticsearch.client()
local data, err = client:search{
  index = "my_index",
  type = "my_type",
  body = {
    query = {
      match = {
        my_key = "my_param"
      }
    }
  }
}

elasticsearch-lua is MIT licensed. Contributions in any form are welcome!

[1]: https://www.elastic.co/products/elasticsearch
[2]: http://db-engines.com/en/ranking/search+engine
[3]: https://www.elastic.co/use-cases
[4]: https://github.com/DhavalKapil/elasticsearch-lua

--
Dhaval Kapil
dhavalkapil.com