惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
量子位
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
V
Visual Studio Blog
雷峰网
雷峰网
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
T
The Blog of Author Tim Ferriss
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
Y
Y Combinator Blog

博客园 - 赵瑛

如何把一个js的代码变成一个.min.js的文件 thinkphp8有一个木马文件链接 thinkphp 可以居中的分页css样式 thinkphp8无法显示验证码的原因之一 php将内容转为word vue点击复制 vue简单分页 vue无限加载 mpdf增加字体并进行使用 jquery导出word css清除浮动最好的方法 Elasticsearch同时实现and与or查询 Elasticsearch查询指定字段是否有重复数据 elasticsearch进行and,or多条件组合查询 elasticsearch中的and和or php FTP操作类( 拷贝、移动、删除文件/创建目录 ) mysql重置自增id js 双指放大、拖动图片 php操作elasticsearch数据库的方法
查询并删除Elasticsearch库中指定字段重复的数据
赵瑛 · 2023-02-23 · via 博客园 - 赵瑛

比如我要查询Elasticsearch库中字段为:id的有没有重复数据,可以用下面的方法,先查询出来,再执行删除。

$from = 0;
$size = 0;
$url = 'http://127.0.0.1/aaaaaa/_search';
$data['from'] = $from;
$data['size'] = $size;
$data['aggs']['my']['terms'] = ['field'=>'id'];

$post_data = json_encode($data,JSON_UNESCAPED_UNICODE);
$relust = curl_post($url,$post_data);
$relust = json_decode($relust,true);
if(!empty($relust['aggregations']['my']['buckets'])){
    foreach ($relust['aggregations']['my']['buckets'] as $k=>$v)
    {
        $doc_id = $v['key'];
        $url = 'http://127.0.0.1/aaaaaa/_delete_by_query';
        $data = [
            'query'=>['bool'=>['must'=>[['term'=>['id'=>$id]]]]]
        ];
        $data['query']['bool']['filter'][0]['bool']['must']['match_phrase']['id'] = $id;
        $post_data = json_encode($data);
        $relust = curl_post($url,$post_data);
    }
}
return json(['code'=>10000,'msg'=>'删除成功']);