Installation npm install lw-query-generator
Overview
Dependencies:
lw-odata-parser
Usage:
Takes an OData string and callback(err, results)
To get a curl statement:
var QueryGenerator = require('lw-query-generator');
QueryGenerator(odata, function(err, res) { if(err) { console.log(err); } else { console.log("curl -XPOST 'localhost:9200/test/_search?pretty' -d '" + JSON.stringify(res) + "'"); } });
To directly access elasticsearch with elasticsearch api:
var elasticsearch = require('elasticsearch'); var client = new elasticsearch.Client({ host: 'localhost:9200' }); var QueryGenerator = require('lw-query- generator');
QueryGenerator(odata, function(err, res) { if(err) { console.log(err); } else { var query = { index: 'test', body: res }; client.search(query, function (err, data) { if (err) { console.error(err); } else { for(var i = 0; i < data.hits.hits.length; i++) { console.log(JSON.stringify(data.hits.hits[i],null,4)); } } }); } });
Supported OData functions:
$filter - only logical operators $expand $orderby $select $top $skip