ElasticSearch delete 删除数据报 404 not_found 解决办法

今天遇到了个奇怪的问题,ElasticSearch 删除数据时候报404,但实际记录是存在的。

{"_index":"goods","_type":"_doc","_id":"shop_category_190_17_1574556","_version":1,"result":"not_found","_shards":{"total":1,"successful":1,"failed":0},"_seq_no":672,"_primary_term":4}

折腾了半天都很迷茫,终于发现了原因。

因为我的 _id 并不是一个数字,而是字符串,所以获取、删除时候都需要指定 routing

$client->delete([
    'index'   => 'goods',
    'id'      => 'shop_category_190_17_1574556',
    'routing' => '1574556', // 加上这个
]);


  • 标签
  • 相关文章
  • 发表评论
当前用户:
  • 评论列表