Minimal, simple, DRY DSL for searching Elasticsearch. Takes one shallow hash argument and translates it to an elaborate one passed on to elasticsearch-api. The price: narrower options. The gain: succinctness. For example, a root <tt>:range</tt> is always a boolean filter and always includes the edges: tractor = Client.new opts = { range: { timestamp: ['now-5m', 'now'] } } tractor.search(opts) # => sends the following to Ealsticsearch: { "query": { "bool": { "filter": [ { "range": { "timestamp": { "gte":"now-5m", "lte":"now" } } } ], "must": [], } } }
Required Ruby Version
~> 2.0
Authors
Oz Shelach
Versions
- 0.0.6 October 22, 2017 (10.5 KB)
- 0.0.5 October 12, 2017 (10.5 KB)
- 0.0.4 September 09, 2017 (9.5 KB)
- 0.0.3 September 09, 2017 (9 KB)
- 0.0.2 September 04, 2017 (8.5 KB)