Skip to content
Snippets Groups Projects
UpdateIndex.php 550 B
Newer Older
Pavel's avatar
Pavel committed
<?php

namespace IQDEV\ElasticSearch\Indexer;

use IQDEV\ElasticSearch\Esable;

final class UpdateIndex implements Index
{
    public function __construct(
        private string  $name,
        private Esable  $body,
        private ?string $id = null
    ) {
Pavel's avatar
Pavel committed
    }

    public function es(): array
    {
        $es = [
            'index' => $this->name,
            'body' => [
                'doc' => $this->body->es()
            ]
        ];

        if ($this->id) {
            $es['id'] = $this->id;
        }

        return $es;
    }
}