Php 由于版本冲突,elasticsearch不会删除所有记录
我有带有elasticsearch 6.2.1的php应用程序 我的要求Php 由于版本冲突,elasticsearch不会删除所有记录,php,elasticsearch,Php,elasticsearch,我有带有elasticsearch 6.2.1的php应用程序 我的要求 $delete = [ 'index' => 'myIndex', 'type' => 'mytype', 'conflicts' => 'proceed', 'body' => [ 'query' => [ 'match' => [
$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" : {}
}
}