def search(self, query): query=wrap(query) f = convert.esfilter2where(query.query.filtered.filter) filtered=wrap([{"_id": i, "_source": d} for i, d in self.data.items() if f(d)]) if query.fields: return wrap({"hits": {"total":len(filtered), "hits": [{"_id":d._id, "fields":unwrap(qb.select([unwrap(d._source)], query.fields)[0])} for d in filtered]}}) else: return wrap({"hits": {"total":len(filtered), "hits": filtered}})
def search(self, query): query = wrap(query) f = convert.esfilter2where(query.query.filtered.filter) filtered = wrap([{ "_id": i, "_source": d } for i, d in self.data.items() if f(d)]) if query.fields: return wrap({ "hits": { "total": len(filtered), "hits": [{ "_id": d._id, "fields": unwrap( qb.select([unwrap(d._source)], query.fields)[0]) } for d in filtered] } }) else: return wrap({"hits": {"total": len(filtered), "hits": filtered}})
def delete_record(self, filter): f = convert.esfilter2where(filter) self.data = wrap({k: v for k, v in self.data.items() if not f(v)})