code: def bulk(self, body, index=None, doc_type=None, **query_params):
          
          self._es_parser.is_not_empty_params(body)
          path = self._es_parser.make_path(index, doc_type, EsMethods.BULK)
          result = yield self._perform_request(HttpMethod.POST,
                                               path,
                                               self._bulk_body(body),
                                               params=query_params)
          returnValue(result)
docs: Perform many index/delete operations in a single API call.
          See the :func:`~elasticsearch.helpers.bulk` helper function for a more
          friendly API.
          `<http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html>`_
          :param body: The operation definition and data (action-data pairs),
              separated by newlines
          :param index: Default index for items which don't provide one
          :param doc_type: Default document type for items which don't provide one
          :arg consistency: Explicit write consistency setting for the operation,
              valid choices are: 'one', 'quorum', 'all'
          :arg fields: Default comma-separated list of fields to return in the
              response for updates
          :arg pipeline: The pipeline id to preprocess incoming documents with
          :arg refresh: Refresh the index after performing the operation
          :arg routing: Specific routing value
          :arg timeout: Explicit operation timeout