<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def order_search(self, search):
 """Order given search by the ordering parameter given in request. :param search: ElasticSearch query object """

        ordering = self.get_query_param('ordering', self.ordering)
        if not ordering:
            return search

        sort_fields = []
        for raw_ordering in ordering.split(','):
            ordering_field = raw_ordering.lstrip('-')
            if ordering_field not in self.ordering_fields:
                raise ParseError('Ordering by `{}` is not supported.'.format(ordering_field))

            ordering_field = self.ordering_map.get(ordering_field, ordering_field)
            direction = '-' if raw_ordering[0] == '-' else ''
            sort_fields.append('{}{}'.format(direction, ordering_field))

        return search.sort(*sort_fields)