数据库中删除数据,es会删除对应的索引

数据库中删除数据,es会删除对应的索引,第1张

首先,你的表肯定是做了外键等约束的,所以删除,要从最外层删除。假设你的数据库是Sql Server的。

1、技能表

delete from 技能表 where 人物id in (select 人物id from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3))

2、装备属性表

delete from 装备属性表 where 装备id in (select 装备id from 装备表 where 人物id in (select 人物id from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3)))

3、装备表

delete from 装备表 where 人物id in (select 人物id from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3))

4、人物表

delete from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3)

5、账号表

delete from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3

    本文介绍 ElasticSearch 增加、删除、修改的使用示例。通过Restful 接口和 Postman实现.ElasticSearch 版本为6.3.2。

关于索引的创建请参考: https://www.jianshu.com/p/828dce8a99e0

关于es的安装请参考: https://www.jianshu.com/p/fd5f0101c434

我先创建一个叫local_mst_student_idx_1的索引,通过hand插件观察他的count条数为0.(详细见下图)

单条新增(指定_id):

URL:http://服务ip:端口/索引index/type/_id

单条新增(不指定_id):

URL:http://服务ip:端口/索引index/type

es会自动生成一个唯一的_id

批量新增:

关于批量新增我们需要创建一个.json的文件,里面构建json数据。(如下图)

通过postman请求:

注意:通过post请求body这时候需要选择bonary,然后选择我们刚刚创建的.json文件即可。(详细如下图)

点击执行我们可能会遇到下面这种情况,那是因为body的类型是text类型的,它不支持,我们点击下拉框改成JSON选项就ok了。

下面我展示一下执行批量新增的效果图:

上面明显的返回了我们新增的数据信息。

(注:批量新增可以在URL中指定index和type也可已在.json文件中指定;我上面是使用URL指定index和type的,官网文档案例是在.json文档中指定,大家可以参考一下。)

关于批量新增有啥疑问的可以参考官方文档:

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

执行完后我们通过hand插件观察Elasticsearch数据情况:(如下图)

很清晰的看出我们新增的数据已经全部到ES里面。

单个删除:

URL:http://服务ip:端口号/索引index/type/_id   (_id:指定删除)

单个删除比较简单:(如下图)

查询式删除:

通过条件查询删除某些符合条件的数据;我们测试把张三和王五删除掉。

关于批量删除有什么疑问的可以参考官方文档:

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html

执行成功后观察数据是否被删除:

ES修改 *** 作有一种特殊;假如我们使用下图这种请求

通过观察我指定_id为4的数据进行修改,他只修改了我传参的stu_name字段,并把其他字段全部改为空了。

其实是这样的:

    当我们发送该请求后,如果不存在_id=4的文档数据,索引中将新建一个文档_id=4,如果索引中在之前已经存在_id=4的文档数据,新文档数据将覆盖历史文档数据。如果我们存入的文档id和已存在的文档id都不相同则不会影响。索引文档时,_id部分是可选的,我们上面也有案例,如果未指定,es将生成一个随机_id,然后用它来创建新文档。当然我可能不想要这种效果。别急下面我来讲解另外一种修改方式。

修改数据2:

这里我们发现和上面的请求有哪些不同,我们发现下面图片的 URL 的末尾多了一个_update请求命令.

这种更新其实也不是在原文档进行就地更新。es无论何时进行更新他都会删除旧文档,索引一个新文档来立刻替换它。当然es还提供了多条件的修改。我们可以参考官方文档去挖掘在此我就不详细的讲解了。

关于es多条件的修改可以参考官方文档:

https://www.elastic.co/guide/en/elasticsearch/reference/6.2/docs-update-by-query.html

关于增删改我们就讲到这,新的探索我会再第一时间给大家分享。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9916980.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存