Reindex all documents from one index to another.
        `<https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html>`_

        :arg body: The search definition using the Query DSL and the prototype
            for the index request.
        :arg refresh: Should the effected indexes be refreshed?
        :arg requests_per_second: The throttle to set on this request in sub-
            requests per second. -1 means no throttle., default 0
        :arg slices: The number of slices this task should be divided into.
            Defaults to 1 meaning the task isn't sliced into subtasks., default
            1
        :arg timeout: Time each individual bulk request should wait for shards
            that are unavailable., default '1m'
        :arg wait_for_active_shards: Sets the number of shard copies that must
            be active before proceeding with the reindex operation. Defaults to
            1, meaning the primary shard only. Set to `all` for all shard
            copies, otherwise set to any non-negative value less than or equal
            to the total number of copies for the shard (number of replicas + 1)
        :arg wait_for_completion: Should the request should block until the
            reindex is complete., default True

def reindex(self, body, params=None):
        """
        Reindex all documents from one index to another.
        `<https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html>`_

        :arg body: The search definition using the Query DSL and the prototype
            for the index request.
        :arg refresh: Should the effected indexes be refreshed?
        :arg requests_per_second: The throttle to set on this request in sub-
            requests per second. -1 means no throttle., default 0
        :arg slices: The number of slices this task should be divided into.
            Defaults to 1 meaning the task isn't sliced into subtasks., default
            1
        :arg timeout: Time each individual bulk request should wait for shards
            that are unavailable., default '1m'
        :arg wait_for_active_shards: Sets the number of shard copies that must
            be active before proceeding with the reindex operation. Defaults to
            1, meaning the primary shard only. Set to `all` for all shard
            copies, otherwise set to any non-negative value less than or equal
            to the total number of copies for the shard (number of replicas + 1)
        :arg wait_for_completion: Should the request should block until the
            reindex is complete., default True
        """
        if body in SKIP_IN_PATH:
            raise ValueError("Empty value passed for a required argument 'body'.")
        return self.transport.perform_request(
            "POST", "/_reindex", params=params, body=body
        )