• Elasticsearch2.x --DeleteByQuery


    一、安装插件

    要删除某个索引的一个type下的所有文档,相当于关系型数据库中的清空表操作。查阅了一些资料可以通过Delete-by-Query插件删除,首先使用插件管理器安装Delete-by-Query插件:

    sudo bin/plugin install delete-by-query

    离线方式与head类似,解压放置elasticsearch/plugins/下即可。

    集群有多个节点的情况下,每个节点都需要安装并重启.
    如果想要移除插件,可以执行以下命令:

    sudo bin/plugin remove delete-by-query

    二、导入jar包

    导包:elasticsearch-2.3.3/plugins/delete-by-query/delete-by-query-2.3.3.jar加到工程路径中.

    三、修改client的创建方式

    Client client = TransportClient.builder()
                    .settings(settings)
                    .addPlugin(DeleteByQueryPlugin.class)
                    .build()
                    .addTransportAddress(new InetSocketTransportAddress(
                                        InetAddress.getByName("192.168.0.224"), 9300));

    加了addPlugin这一行.

    四、删除一个type下的所有文档

    删除blog/article下的所有文档:

    1.命令行方式

    CURL -XDELETE "http://192.168.0.224:9200/blog/article/_query" -d '{
    "query": {
        "match_all": {}
      }
    }
    '

    2.java api

    import org.elasticsearch.action.deletebyquery.DeleteByQueryAction;
    import org.elasticsearch.action.deletebyquery.DeleteByQueryRequestBuilder;
    import org.elasticsearch.action.deletebyquery.DeleteByQueryResponse;
    import org.elasticsearch.plugin.deletebyquery.DeleteByQueryPlugin;
    
    String deletebyquery = "{"query": {"match_all": {}}}";
    
    DeleteByQueryResponse response =  new DeleteByQueryRequestBuilder(client,   
                                      DeleteByQueryAction.INSTANCE)
                                      .setIndices("blog")
                                      .setTypes("article")
                                      .setSource(deletebyquery)
                                      .execute()
                                      .actionGet();

    from:http://blog.csdn.net/napoay/article/details/52038619

  • 相关阅读:
    VBA操作IE
    Eclipse中Git图标表示内容
    sqldeveloper更改语言设定
    VBA-FileToFileUpdate
    VBA-UTF-8文件的操作
    Null项目参与排序
    阿里云的学生机如何开放全部端口
    .net core3.1 webapi + vue + element-ui upload组件实现文件上传
    .net core控制台使用log4net
    vue2.x中使用三元表达式绑定class的时候遇到的坑
  • 原文地址:https://www.cnblogs.com/jiu0821/p/5964610.html
Copyright © 2020-2023  润新知