小编Jas*_*lin的帖子

Elasticsearch 2.3使用PHP LIbrary通过查询删除类型中的所有文档

我希望能够使用elasticsearch php库通过查询删除文档.我实际上想要删除我的类型中的所有文档.我可以使用正常的curl XDELETE请求来实现这一点,但是我无法使用弹性搜索的PHP库来使用它.

是的我已经安装了delete-by-query插件,因此原始请求有效.

我目前的代码:

$params = [
    'index' => 'sanctions_lists',
    'type' => $listName,
    'body' => [
        'query' => [
            'match_all' => []
        ]
    ]
];
return $this->delete($params);
Run Code Online (Sandbox Code Playgroud)

结果是

Client.php第1440行中的InvalidArgumentException:id不能为null.

从我的错误消息(ID不能为空)它看起来删除查询可能是php库的限制只允许通过id删除.

如果我必须在我的应用程序内执行此函数的原始HTTP请求,当php库对应用程序中的其他查询非常有用时,会有点烦人.

问题摘要

有没有一种解决方法可以使用elasticsearch php库通过查询删除而无需触及库代码?

不言而喻,但感谢任何花时间查看和帮助我的问题的人.干杯.

编辑

包括它有助于我使用:

elasticsearch php库版本 v2.1.5

php elasticsearch elasticsearch-plugin

0
推荐指数
2
解决办法
2664
查看次数

标签 统计

elasticsearch ×1

elasticsearch-plugin ×1

php ×1