diff --git a/CHANGELOG.md b/CHANGELOG.md index f8b36f4673..d89c9cf582 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ All notable changes to this project will be documented in this file based on the ### Added * Added request parameters to `Client->deleteDocuments()`. [#1419](https://github.com/ruflin/Elastica/pull/1419) +* Added request parameters to `Type->updateDocuments()`, `Type->addDocuments()`, `Type->addObjects()`, `Index->addDocuments()`, `Index->updateDocuments()`. [#1427](https://github.com/ruflin/Elastica/pull/1427) ### Improvements diff --git a/lib/Elastica/Index.php b/lib/Elastica/Index.php index 396354fae6..44cbd60e1f 100644 --- a/lib/Elastica/Index.php +++ b/lib/Elastica/Index.php @@ -119,36 +119,38 @@ public function getSettings() * Uses _bulk to send documents to the server. * * @param array|\Elastica\Document[] $docs Array of Elastica\Document + * @param array $options Array of query params to use for query. For possible options check es api * * @return \Elastica\Bulk\ResponseSet * * @link https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html */ - public function updateDocuments(array $docs) + public function updateDocuments(array $docs, array $options = []) { foreach ($docs as $doc) { $doc->setIndex($this->getName()); } - return $this->getClient()->updateDocuments($docs); + return $this->getClient()->updateDocuments($docs, $options); } /** * Uses _bulk to send documents to the server. * * @param array|\Elastica\Document[] $docs Array of Elastica\Document + * @param array $options Array of query params to use for query. For possible options check es api * * @return \Elastica\Bulk\ResponseSet * * @link https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html */ - public function addDocuments(array $docs) + public function addDocuments(array $docs, array $options = []) { foreach ($docs as $doc) { $doc->setIndex($this->getName()); } - return $this->getClient()->addDocuments($docs); + return $this->getClient()->addDocuments($docs, $options); } /** diff --git a/lib/Elastica/Type.php b/lib/Elastica/Type.php index 4c5060649c..f3093555fe 100644 --- a/lib/Elastica/Type.php +++ b/lib/Elastica/Type.php @@ -167,48 +167,49 @@ public function updateDocument($data, array $options = []) * Uses _bulk to send documents to the server. * * @param array|\Elastica\Document[] $docs Array of Elastica\Document + * @param array $options Array of query params to use for query. For possible options check es api * * @return \Elastica\Bulk\ResponseSet * * @link https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html */ - public function updateDocuments(array $docs) + public function updateDocuments(array $docs, array $options = []) { foreach ($docs as $doc) { $doc->setType($this->getName()); } - return $this->getIndex()->updateDocuments($docs); + return $this->getIndex()->updateDocuments($docs, $options); } /** * Uses _bulk to send documents to the server. * * @param array|\Elastica\Document[] $docs Array of Elastica\Document - * + * @param array $options Array of query params to use for query. For possible options check es api * @return \Elastica\Bulk\ResponseSet * * @link https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html */ - public function addDocuments(array $docs) + public function addDocuments(array $docs, array $options = []) { foreach ($docs as $doc) { $doc->setType($this->getName()); } - return $this->getIndex()->addDocuments($docs); + return $this->getIndex()->addDocuments($docs, $options); } /** * Uses _bulk to send documents to the server. * * @param objects[] $objects + * @param array $options Array of query params to use for query. For possible options check es api * - * @return \Elastica\Bulk\ResponseSet - * + * @return Bulk\ResponseSet * @link https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html */ - public function addObjects(array $objects) + public function addObjects(array $objects, array $options = []) { if (!isset($this->_serializer)) { throw new RuntimeException('No serializer defined'); @@ -223,7 +224,7 @@ public function addObjects(array $objects) $docs[] = $doc; } - return $this->getIndex()->addDocuments($docs); + return $this->getIndex()->addDocuments($docs, $options); } /**