docs: def search_raw(self, query, indices=None, doc_types=None, headers=None, **query_params):
          """Execute a search against one or more indices to get the search hits.
  
          `query` must be a Search object, a Query object, or a custom
          dictionary of search parameters using the query DSL to be passed
          directly.
          """
          from .query import Search, Query
  
          if isinstance(query, Query):
              query = query.search()
          if isinstance(query, Search):
              query = query.serialize()
          body = self._encode_query(query)
          path = self._make_path(indices, doc_types, "_search")
          return self._send_request('GET', path, body, params=query_params, headers=headers)