UniQL-ES
This generates ElasticSearch queries based on UniQL ASTs.
支持query_string
, 用like
and not_like
标识
支持多个词查询,比如 color 在 [red, green], 使用 color == "red,green", 其实正常应该用in
来标示
Example
var parse = parse;var esCompile = compile; var ast = ;var esQuery = ;console;
Resulting query:
{ query:
{ filtered:
{ filter:
[ { bool:
{ must:
[ { bool:
{ must:
[ { bool:
{ should:
[ { range: { height: { lte: 20 } } },
{ bool:
{ must:
[ { bool:
{ must:
[ { terms: { 'favorites.color': [ 'green' ] } },
{ bool: { must_not: { terms: { height: [ 25 ] } } } } ] } },
{ fquery:
{ _cache: true,
query: { bool: { should: [ { query_string: { fields: [ 'text' ], query: '("google")' } } ] } } } } ] } } ] } },
{ bool:
{ should:
[ { bool: { must: { regexp: { firstname: 'o.+' } } } },
{ fquery:
{ _cache: true,
query: { bool: { should: [ { query_string: { fields: [ 'text' ], query: '("baidu")' } } ] } } } } ] } } ] } },
{ nested:
{ path: 'distr_pan',
query:
{ bool:
{ must:
[ { terms: { 'distr_pan.k': [ '奔驰' ] } },
{ range: { 'distr_pan.v': { gte: 0 } } } ] } } } } ] } } ] } } }