| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace Elasticsearch\Endpoints;
- use Elasticsearch\Serializers\SerializerInterface;
- use Elasticsearch\Transport;
- /**
- * Class Bulk
- *
- * @category Elasticsearch
- * @package Elasticsearch\Endpoints
- * @author Zachary Tong <zach@elastic.co>
- * @license http://www.apache.org/licenses/LICENSE-2.0 Apache2
- * @link http://elastic.co
- */
- class Bulk extends AbstractEndpoint implements BulkEndpointInterface
- {
- /**
- * @param SerializerInterface $serializer
- */
- public function __construct(SerializerInterface $serializer)
- {
- $this->serializer = $serializer;
- }
- /**
- * @param string|array|\Traversable $body
- *
- * @return $this
- */
- public function setBody($body)
- {
- if (empty($body)) {
- return $this;
- }
- if (is_array($body) === true || $body instanceof \Traversable) {
- foreach ($body as $item) {
- $this->body .= $this->serializer->serialize($item) . "\n";
- }
- } else {
- $this->body = $body;
- }
- return $this;
- }
- /**
- * @return string
- */
- public function getURI()
- {
- return $this->getOptionalURI('_bulk');
- }
- /**
- * @return string[]
- */
- public function getParamWhitelist()
- {
- return array(
- 'consistency',
- 'refresh',
- 'replication',
- 'type',
- 'fields',
- 'pipeline',
- '_source',
- '_source_include',
- '_source_exclude',
- 'pipeline'
- );
- }
- /**
- * @return string
- */
- public function getMethod()
- {
- return 'POST';
- }
- }
|