• Elasticsearch 删除数据


    删除数据分为两种:一种是删除索引(数据和表结构同时删除,作用同SQLSERVER 中 DROP TABLE "表格名" ),

               另一种是删除数据(不删除表结构,作用同SQLSERVER中Delete 语句)。

    一:删除索引(结构和数据同时删除):

    删除单个索引可以使用命令 【DELETE /索引名称】

    Delete 索引名称

    删除多个索引可以使用命令 【DELETE /索引1,索引2】

    Delete 索引名称1,索引名称2

    【DELETE /testindex*】:删除以testindex 开头的所有索引文件(如果配置文件中禁止后此方式不能使用);

    Delete 索引名称*

    删除全部索引命令 【DELETE /_all】(配置文件中禁止后此方式不能使用) 或者 【DELETE /*】(配置文件中禁止后此方式不能使用)

    Delete _all

    注意事项:对数据安全来说,能够使用单个命令来删除所有的数据可能会带来很可怕的后果,所以,为了避免大量删除,

           可以在elasticsearch.yml 配置文件中修改 action.destructive_requires_name: true

      设置之后只限于使用特定名称来删除索引,使用_all 或者通配符来删除索引无效(上述中说明配置文件中禁止后此方式不能使用)】

    二:删除数据(只删除数据):

    1.:根据主键删除数据:【DELETE  /索引名称/类型名称/主键编号】

    Delete 索引名称/文档名称/主键编号

    2:根据匹配条件删除数据:(注意请求方式是Post) 

    复制代码
    POST 索引名称/文档名称/_delete_by_query   
    {
      "query":{
        "term":{
          "_id":100000100
        }
      }
    }
    复制代码

    如果你想根据条件来删除你的数据,则在Query查询体中组织你的条件就可以了。

    3:删除所有数据:(注意请求方式是Post,只删除数据,不删除表结构)

    复制代码
    POST /testindex/testtype/_delete_by_query?pretty
    {
        "query": {
            "match_all": {
            }
        }
    }
    复制代码
  • 相关阅读:
    yun rpm
    Codeforces Round #375 (Div. 2) D. Lakes in Berland (DFS或并查集)
    51nod 1276 1276 岛屿的数量 (很好玩的题目
    玄学C语言之scanf,printf
    51nod 算法马拉松17 解题报告 以后不能赛中写题解(查逐梦者抄袭本人代码...
    51Nod 1007 正整数分组 -简单DP
    算法马拉松13 A-E解题报告
    十五天集训_
    贴一发STL源码
    省赛反思以及未来提高计划
  • 原文地址:https://www.cnblogs.com/shangwei/p/14048061.html
Copyright © 2020-2023  润新知