Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
namespace IQDEV\ElasticSearch\Indexer;
use IQDEV\ElasticSearch\Esable;
final class BulkIndex implements Index
{
private string $name;
private Esable $body;
private ?string $id;
public function __construct(
string $name,
Esable $body,
?string $id = null
)
{
$this->name = $name;
$this->body = $body;
$this->id = $id;
}
public function es(): array
{
$es = [
[
'index' => [
'_index' => $this->name
]
]
];
if ($this->id) {
$es[0]['index']['_id'] = $this->id;
}
$es[] = $this->body->es();
return $es;
}
}