问下怎么按条件删除 elasticsearch 的值

我用的是elasticsearch 5.6, 我把数据

[
    'index'=>'test',
    'type'=>'a',
    'body'=>[[
        'id'=>0
        'one'=>111,
        'two'=>222
    ]]
]

存入elasticsearch,然后我现在想根据 id 条件来删除 数据,

                $param = [
                    'index'=>'test',
                    'type'=>'a',
                    'body'=>[
                        'query'=>[
                            'id'=>[
                                'gt'=>0,
                                'lt'=>10
                            ]
                        ]
                    ]
                ];
                $res = $es_client->deleteByQuery($param);

这种方式删除,但没有成功,

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

0又不在0<x<10范围内,怎么删除

2年前 评论

刚好写完 ES 删除 发一下供你参考吧;装个kibana在上边先把查询写出来 再对应换成PHP的数组结构就可以了

$es = EsService::getEs();
$params = [
         'index' => self::$es_archives_list,
            'body' => [
                   'query' => [
                         'term' => ['archives_id' => $item->archives_id]
                     ],
                 ],
            ];
$es->deleteByQuery($params);
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!