docs: def search(self):
          """Handle the search request."""
          search = self.document_class().search()  # pylint: disable=not-callable
  
          search = self.custom_filter(search)
  
          search = self.filter_search(search)
          search = self.order_search(search)
          search = self.filter_permissions(search)
  
          if search.count() > ELASTICSEARCH_SIZE:
              limit = self.paginator.get_limit(self.request)
  
              if not limit or limit > ELASTICSEARCH_SIZE:
                  raise TooManyResults()
  
          search = search.extra(size=ELASTICSEARCH_SIZE)
          return search