[#66,filters,elasticsearch][s]: elasticsearch support for filters (addTermFilter on Query).
This commit is contained in:
parent
36548ceffc
commit
5a73ced225
@ -79,6 +79,19 @@ this.recline.Backend = this.recline.Backend || {};
|
||||
}
|
||||
delete out.q;
|
||||
}
|
||||
// now do filters (note the *plural*)
|
||||
if (out.filters && out.filters.length) {
|
||||
if (!out.filter) {
|
||||
out.filter = {}
|
||||
}
|
||||
if (!out.filter.and) {
|
||||
out.filter.and = [];
|
||||
}
|
||||
out.filter.and = out.filter.and.concat(out.filters);
|
||||
}
|
||||
if (out.filters != undefined) {
|
||||
delete out.filters;
|
||||
}
|
||||
return out;
|
||||
},
|
||||
query: function(model, queryObj) {
|
||||
|
||||
@ -20,6 +20,12 @@ test("ElasticSearch queryNormalize", function() {
|
||||
in_.q = 'abc';
|
||||
var out = backend._normalizeQuery(in_);
|
||||
equal(out.query.query_string.query, 'abc');
|
||||
|
||||
var in_ = new recline.Model.Query();
|
||||
in_.addTermFilter('xyz', 'XXX');
|
||||
in_ = in_.toJSON();
|
||||
var out = backend._normalizeQuery(in_);
|
||||
deepEqual(out.filter.and[0], {term: { xyz: 'XXX'}});
|
||||
});
|
||||
|
||||
var mapping_data = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user