gpt4 book ai didi

php - “id不能为null。”尝试从ElasticSearch删除时出错

转载 作者:行者123 更新时间:2023-12-02 23:27:45 27 4
gpt4 key购买 nike

我有Windows机器,ElasticSearch 5.0.0和用于PHP的标准ElasticSearch客户端,这些客户端是使用composer安装的。一切正常,除了删除操作。我无法通过查询删除,结果得到此错误消息:

Uncaught exception 'Elasticsearch\Common\Exceptions\InvalidArgumentException' with message 'id cannot be null.'



这是我尝试删除的方式:
$client = ClientBuilder::create()->build();
$params = [
'index' => 'layers'
'type' => 'layers_type'
'body' => [
'bool' => [
'should' => [
[
'multi_match' => [
'query' => ["304"],
'fields' => ["id"] // not a surrogate _id, by my own id, that is a part of my index properties
]
]
]
]
]
];
$client->delete($params);

那么,我该如何解决呢?我是否需要安装任何插件,如果可以,如何在Windows计算机上安装?

最佳答案

delete function需要一个ID,因为它旨在删除单个文档,这就是为什么会出现该错误的原因。

为了执行您想要的操作,您需要使用deleteByQuery函数,但是需要2.x中的it has been removed并且尚未添加回(现在)。

在此期间,您可以使用Elastica PHP客户端。它符合5.0和supports the deleteByQuery feature

关于php - “id不能为null。”尝试从ElasticSearch删除时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40764781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com