code: def query(self, area=None, date=None, raw=None, area_relation='Intersects',
                order_by=None, limit=None, offset=0, **keywords):
          query = self.format_query(area, date, raw, area_relation, **keywords)
          self.logger.debug("Running query: order_by=%s, limit=%s, offset=%s, query=%s",
                            order_by, limit, offset, query)
          formatted_order_by = _format_order_by(order_by)
          response, count = self._load_query(query, formatted_order_by, limit, offset)
          self.logger.info("Found %s products", count)
          return _parse_opensearch_response(response)