elasticsearch,Php,elasticsearch" /> elasticsearch,Php,elasticsearch" />

Php 由于版本冲突,elasticsearch不会删除所有记录

Php 由于版本冲突,elasticsearch不会删除所有记录,php,elasticsearch,Php,elasticsearch,我有带有elasticsearch 6.2.1的php应用程序 我的要求 $delete = [ 'index' => 'myIndex', 'type' => 'mytype', 'conflicts' => 'proceed', 'body' => [ 'query' => [ 'match' => [

我有带有elasticsearch 6.2.1的php应用程序 我的要求

    $delete = [
  'index' => 'myIndex',


  'type' => 'mytype',
            'conflicts' => 'proceed',
            'body' => [
                'query' => [
                    'match' => [
                        "category_name" => 'myname'
                    ]
                ],
            ]
        ];
        $response = $this->client->deleteByQuery($delete);
我得到了这样的回应

Array
(
    [took] => 1
    [timed_out] => 
    [total] => 3
    [deleted] => 0
    [batches] => 1
    [version_conflicts] => 3
    [noops] => 0
    [retries] => Array
        (
            [bulk] => 0
            [search] => 0
        )

    [throttled_millis] => 0
    [requests_per_second] => -1
    [throttled_until_millis] => 0
    [failures] => Array
        (
        )

) 
在此之后,它不会删除任何记录。[已删除]=>0 为什么不删除

这是什么意思?
[版本冲突]=>3

来自ElasticSearch文档

\u通过查询删除\u

获取索引启动时的快照,并删除找到的内容 使用内部版本控制这意味着您将获得一个版本 如果文档在创建快照时发生更改,则会发生冲突 当删除请求被处理时。当版本 匹配的文档将被删除

前几天我也遇到了同样的问题,但当我使用
conflicts=procedure
时,它在Kibana控制台上对我有效。因此,它也适用于PHP

POST /properties/_delete_by_query/?conflicts=proceed
{
    "query" : { 
        "match_all" : {}
    }
}