$document->getData()); if ($document->getDocAsUpsert()) { $source['doc_as_upsert'] = true; }else if ($document->hasUpsert()) { $upsert = $document->getUpsert()->getData(); if (!empty($upsert)) { $source['upsert'] = $upsert; } } $this->setSource($source); return $this; } /** * @param \Elastica\Script $script * @return \Elastica\Bulk\Action\AbstractDocument */ public function setScript(Script $script) { parent::setScript($script); $source = $script->toArray(); if ($script->hasUpsert()) { $upsert = $script->getUpsert()->getData(); if (!empty($upsert)) { $source['upsert'] = $upsert; } } $this->setSource($source); return $this; } }