Обновляем и удаляем данные. Поменяем имя пользователю, добавим вид увлечения coffe и добавим автомобили, которые есть у этого пользователя.

Обновляем и удаляем данные

Команда:

POST /megacorp/employee/1/_update
{
    "doc" : 
    {
        "first_name" : [ "Bob" ],       
        "interests": [ "sports", "music", "coffe" ],       
        "cars": ["audi", "bmw"],    
        "views": 0
    }
}

Получаем данные:

GET /megacorp/employee/1

Удаляем документ:

DELETE /megacorp/employee/1

CURL:

curl -XPOST 'localhost:9200/megacorp/employee/1/_update?pretty' -d '
{  
    "doc": 
    { 
        "first_name": "Bob" ,
        "interests": [ "sports", "music", "coffe" ], 
        "cars": ["audi", "bmw"]
    }
}'

Получаем данные:

$curl -XGET 'http://localhost:9200/megacorp/employee/1 '

Удаляем:

curl -XDELETE 'localhost:9200/megacorp/employee/1'

PHP:

Обновляем данные:

require 'vendor/autoload.php';
$client = Elasticsearch\ClientBuilder::create()->build();
$params = [
            "id"    => '1',
            "index" => "megacorp",
            "type"  => "employee",
            "body"  => [
                "doc" => [
                    "first_name" => "Bob",
                    "last_name"  => "Smith",
                    "age"        => "25",
                    "about"      => 'I love to go rock climbing',
                    "interests"  => [ "sports", "music", "coffe"],
                    "cars"       => ["audi", "bmw"]
                ]
            ]        
];
try {
    $response = $client->update($params);
} catch (Exception $e) {
    var_dump($e->getMessage());
}

Удаляем данные:

require 'vendor/autoload.php';
$client = Elasticsearch\ClientBuilder::create()->build();
$params = [
            "id"    => '1',
            "index" => "megacorp",
            "type"  => "employee",
        ];
try {            
    $response = $client->delete($params);        
} catch (Exception $e) {
            var_dump($e->getMessage());        
}

Yii2:

Добавляем запись cars в массив атрибутов и правил.

public function attributes() {
  return [
      "first_name",
      "last_name",
      "age" ,
      "about" ,
      "interests" , 
      "cars" ,
  ];
}

Получаем нашего сотрудника:

$model = Megacorp::get(1);

Обновляем данные:

$model->attributes = [
            "first_name" => "Bob",
            "interests"  => [ "sports", "music", "coffe"],
            "cars"       => ["audi", "bmw"]
];
$model->save();

Смотрим результат:

$model = Megacorp::get(1);
var_dump($model);

Удаляем данные:

$model = Megacorp::get(10);    
$model->delete();

Дополнительно