code: def sort(self, *args, **kwargs):
          '''
          http://www.elasticsearch.org/guide/reference/api/search/sort.html
          Allows to add one or more sort on specific fields. Each sort can be reversed as well. The sort is defined on a per field level, with special field name for _score to sort by score.
  
          standard arguments are ordered ascending, keyword arguments are fields and you specify the order either asc or desc
          '''
          if not self.params:
              self.params = dict()
          self.params['sort'] = list()
          for arg in args:
              self.params['sort'].append(arg)
          for k,v in kwargs.iteritems():
              self.params['sort'].append({k : v})
  
          return self sort(self, *args, **kwargs):
          '''
          http://www.elasticsearch.org/guide/reference/api/search/sort.html
          Allows to add one or more sort on specific fields. Each sort can be reversed as well. The sort is defined on a per field level, with special field name for _score to sort by score.
  
          standard arguments are ordered ascending, keyword arguments are fields and you specify the order either asc or desc
          '''
          if not self.params:
              self.params = dict()
          self.params['sort'] = list()
          for arg in args:
              self.params['sort'].append(arg)
          for k,v in kwargs.iteritems():
              self.params['sort'].append({k : v})
  
          return self
docs: http://www.elasticsearch.org/guide/reference/api/search/sort.html
          Allows to add one or more sort on specific fields. Each sort can be reversed as well. The sort is defined on a per field level, with special field name for _score to sort by score.
  
          standard arguments are ordered ascending, keyword arguments are fields and you specify the order either asc or desc