0.7.1 • Published 6 years ago

o-is-elasticsearch v0.7.1

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

Object Is: Elasticsearch converter

Convert the oIs object into an elasticsearch query.

const oIsElasticsearch = require('o-is-elasticsearch')
const oIs = require('o-is').extend({
	elasticsearch: oIsElasticsearch
})

oIs()
	.if()
		.equal('name', 'foobar')
	.then()
		.gt('age', 20)
	.else()
		.lt('age', '10')
	.end()
	.elasticsearch()

Outputs:

{
  "bool": {
    "must": [
      {
        "bool": {
          "should": [
            {
              "bool": {
                "must": [
                  {
                    "term": {
                      "name": "foobar"
                    }
                  },
                  {
                    "range": {
                      "age": {
                        "gt": 20
                      }
                    }
                  }
                ]
              }
            },
            {
              "bool": {
                "must": [
                  {
                    "range": {
                      "age": {
                        "lt": 10
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}