Пример #1
0
    async def load(self) -> StorageResult:
        try:

            return await self.storage.load_all()

        except elasticsearch.exceptions.ElasticsearchException as e:
            raise StorageException(str(e))
Пример #2
0
 async def load_all(self) -> StorageResult:
     try:
         query = {"size": 100, "query": {"match_all": {}}}
         result = await self.storage.search(query)
         return StorageResult(result)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #3
0
 async def filter(self, query: dict) -> StorageResult:
     try:
         return StorageResult(await self.storage.search(query))
     except elasticsearch.exceptions.NotFoundError:
         _logger.warning("No result found for query {}".format(query))
         return StorageResult()
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #4
0
 async def load_by_values(self,
                          field_value_pairs: List[tuple],
                          limit=1000) -> StorageResult:
     try:
         return StorageResult(await self.storage.load_by_values(
             field_value_pairs, limit))
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #5
0
 async def sql(self, sql):
     try:
         query = await self.storage.translate(sql)
         if '_source' in query and query['_source'] == False:
             query['_source'] = True
         return StorageResult(await self.storage.search(query))
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #6
0
    async def save(self) -> BulkInsertResult:
        try:
            if not isinstance(self.payload, list):
                raise TracardiException("CollectionCrud dave payload must be list.")
            data = [p.dict() for p in self.payload if isinstance(p, BaseModel)]
            return await self.storage.upsert(data)

        except elasticsearch.exceptions.ElasticsearchException as e:
            raise StorageException(str(e))
Пример #7
0
 async def uniq_field_value(self, field) -> AggResult:
     try:
         query = {
             "size": "0",
             "aggs": {
                 "uniq": {
                     "terms": {
                         "field": field
                     }
                 }
             }
         }
         return AggResult('uniq', await self.storage.query(query), return_counts=False)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #8
0
    async def upsert(self, data) -> BulkInsertResult:
        try:

            if not isinstance(data, list):
                if 'id' in data:
                    data["_id"] = data['id']
                payload = [data]
            else:
                # Add id
                for d in data:
                    if 'id' in d:
                        d["_id"] = d['id']
                payload = data

            return await self.storage.create(payload)

        except elasticsearch.exceptions.ElasticsearchException as e:
            raise StorageException(str(e))
Пример #9
0
 async def refresh(self, params=None, headers=None):
     try:
         return await self.storage.refresh(params, headers)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #10
0
 async def translate(self, sql):
     try:
         return await self.storage.translate(sql)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #11
0
 async def query(self, query):
     try:
         return await self.storage.search(query)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #12
0
 async def delete(self, id: str) -> dict:
     try:
         return await self.storage.delete(id)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #13
0
 async def delete_by(self, field: str, value: str) -> dict:
     try:
         return await self.storage.delete_by(field, value)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #14
0
 async def load_by(self, field: str, value: str) -> StorageResult:
     try:
         return StorageResult(await self.storage.load_by(field, value))
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))
Пример #15
0
 async def load(self, id: str):
     try:
         return await self.storage.load(id)
     except elasticsearch.exceptions.ElasticsearchException as e:
         raise StorageException(str(e))