code: def loose_search(self, asset_manager_id, query='', **kwargs):
          
          self.logger.info('Asset Search - Asset Manager: %s', asset_manager_id)
          url = '{endpoint}/assets/search/{asset_manager_id}'.format(
              asset_manager_id=asset_manager_id,
              endpoint=self.endpoint,
          )
          params = {'query': query}
          for k, v in kwargs.items():
              if not isinstance(v, str) and isinstance(v, Iterable):
                  v = ','.join(str(i) for i in v)
  
              params[k] = v
  
          response = self.session.get(url, params=params)
          if response.ok:
              data = response.json()
              assets = [json_to_asset(json_asset) for json_asset in data.get('hits', [])]
              self.logger.info('Returned %s Assets.', len(assets))
              return assets
          else:
              self.logger.error(response.text)
              response.raise_for_status()
docs: Asset search API.
  
          Possible kwargs:
             * threshold: int (default = 0)
             * page_no: int (default = 1)
             * page_size: int (default = 100)
             * sort_fields: list (default = [])
             * asset_types: list (default = [])
             * include_public: bool (default = True)
             * include_data_sources: bool (default = True)