コード例 #1
0
ファイル: elasticsearch.py プロジェクト: klahnakoski/MoDevETL
 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}})
コード例 #2
0
 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}})
コード例 #3
0
 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)})
コード例 #4
0
 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)})