src/ElasticSearch/Bulk.php
public function index($document, $id=null, $index, $type, array $options = array()) {
		$params = array( '_id' => $id, 
   					     '_index' => $index, 
					     '_type' => $type);

		foreach ($options as $key => $value) {
			$params['_' . $key] = $value;
		}

		$operation = array(
			array('index' => $params),
			$document 
		);
		$this->operations[] = $operation;
		return $this;
	}
public function index($document, $id=null, $index, $type, array $options = array()) {
		$params = array( '_id' => $id, 
   					     '_index' => $index, 
					     '_type' => $type);

		foreach ($options as $key => $value) {
			$params['_' . $key] = $value;
		}

		$operation = array(
			array('index' => $params),
			$document 
		);
		$this->operations[] = $operation;
		return $this;
	}
Index a new document or update it if existing

@param array $document
@param mixed $id Optional
@param string $index Index
@param string $type Type
@param array $options Allow sending query parameters to control indexing further
_refresh_ *bool* If set to true, immediately refresh the shard after indexing
@return \Elasticsearch\Bulk