es清理脚本
‘壹’ ES中通过脚本语言进行加减乘除和逻辑判断进行过滤
GET task_sit/_search
{
"_source": ["taskActualEndTime","taskPlannedEndTime","taskSpecId","taskName","acceptOpinion","acceptTime","taskPlannedStartTime"],
"query": {
"bool" : {
"must" : [
{
"script" : {
"script" : {
"source" : "if(doc['followUp'].size()==0 && doc['acceptTime'].value<=doc['taskPlannedStartTime'].value.toInstant().toEpochMilli()) {return true;} else if(doc['followUp'].size()>0 && doc['acceptTime'].value<=(doc['taskPlannedStartTime'].value.toInstant().toEpochMilli()+doc['followUp'].value)) {return true;} else{return false;}",
"lang" : "painless",
"params" : {
"param" : 0
}
},
"boost" : 1.0
}
},{
"exists": {
"field": "acceptTime"
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
}
GET task_sit/_search
{
"_source": ["taskActualEndTime","taskPlannedEndTime","taskSpecId","taskName","acceptOpinion","acceptTime","taskPlannedStartTime"],
"query": {
"bool" : {
"must" : [
{
"script" : {
"script" : {
"source" : "(doc['followUp'].size()==0 && doc['acceptTime'].value<=doc['taskPlannedStartTime'].value.toInstant().toEpochMilli()) || (doc['followUp'].size()>0 && doc['acceptTime'].value<=(doc['taskPlannedStartTime'].value.toInstant().toEpochMilli()+doc['followUp'].value))",
"lang" : "painless",
"params" : {
"param" : 0
}
},
"boost" : 1.0
}
},{
"exists": {
"field": "acceptTime"
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
}
‘贰’ 在ES文件浏览器删除视频文件,仍然占着空间,是留下了痕迹吗,怎么清除
1.有隐藏文件(以点.开头的文件),建议用es文件浏览器,设置可看隐藏文件,然后删了。
2.照片是分区存储的,即使是删了也有剩余碎片,建议用360卫士清理。
3.相机里下载的素材功能(比如相框,绚丽文字等等)占空间。建议清楚数据。不过你安装的相机里的东西就都没了。
4.手机里有病毒,病毒占用空间任意破坏文件,建议用360卫士查杀,或这连接电脑查杀。
‘叁’ es文件管理器怎么清理缓存
方法有很多,随便举几个1.
开启"es文件管理器"-->按"菜单"键-->按"设置"-->按"档案设置"-->按"清除缓存",
完成后"清除缓存"的选项会变暗2.
开启"es文件管理器"-->开启"es工作管理员"(如果已安装,但不建议因为很多广告)-->长按"es文件管理器"-->按"清除缓存/强行停上"-->按"清除快取"-->离开这个方法在大多数Task
Manager或Task
Killer有效3.
按"设定"-->按"应用程式"-->按"管理应用程式"-->按"es文件管理器"-->按"清除快取"-->离开
‘肆’ es设置分区自动删除
es设置分区自动删除步骤如下:
1、通过kibana设置索引生命周期。
2、编写自动删除索引脚本,并通过k8s的方式运行。
3、编写dockerfile、cron、k8s-es-delete-indexs.yaml。
‘伍’ es数据清理
一个完善的系统应该是有循环清理旧数据策略的. elk当日志平台的话,一般只需要保存一段时间就够了.删除策略就直接循环删除索引.
索引是每天生成一个,包含当天日期.这样才可以按照日期来进行删除.
可以用命令查看当前的索引
这种是属于比较简单粗暴的删除,真正的场合应该每个索引会保留不同的时间的,需要根据具体索引来定义删除时间.
‘陆’ es文件浏览器怎么清理其他文件
您好,方法。查找手机垃圾文件
1、首先打开es文件浏览器,点击分析文件。
2、然后系统会进行分析当前所有文件的情况,扫描中。
3、等待片刻扫描结果出来,大概的文件占用情况。
4、如果要删除大文件,找到大文件排行。
5、垃圾文件清理。
6、点击垃圾文件清理,可以清理一些不必要的文件。
7、点击清理之后,es文件浏览器会删除一些不用的缓存文件。
此外对于不用的日志文件,和重复文件。都可以查找删除。
8、对于已经删除的文件,默认是放到垃圾箱,还是占用空间的。必须吧垃圾箱也清理就完成手机内存的清理了。
‘柒’ 07 ES部分更新,包括_update和script脚本两种方式
主要讲解的内容: 部分更新,包括_update和script脚本两种方式
每次就传递少数几个发生修改的field即可,不需要将全量的document数据发送过去
更新示例:
ES内部对partial update的实际执行,跟传统的全量替换方式,是几乎一样的
1、内部先获取document
2、将传过来的field更新到document的json中
3、将老的document标记为deleted
4、将修改后的新的document创建出来
partial update相较于全量替换的优点
1、所有的查询、修改和写回操作,都发生在es中的一个shard内部,避免了网络数据传输的开销(减少2次网络请求) , 大大提升了性能。
2.减少了查询和修改中的时间间隔,可以大大减少并发冲突的情况。
通过脚本更新制定字段,其中ctx是脚本语言中的一个执行对象,先获取_source,再修改price字段
在 ES安装目录/config/scripts目录下创建groovy文件 ( 该方法 已过时 了)
使用 _script在ES中创建脚本 ecommerce_add_tags
_scripts脚本的简单管理
使用id引用外部脚本更新document
与修改字段类似
删除字段
删除文档
如果指定的document不存在,就执行upsert中的初始化操作;
如果指定的document存在,就执行doc或者script指定的partial update操作
相对于之前的使用upsert中的内容添加到不存在的文档,使用doc_as_upsert可以在文档不存在的时候,把doc中的内容插入到文档中。
注意
参考文章:
ES 27 - Elasticsearch的脚本使用实践 - 瘦风 - 博客园 https://www.cnblogs.com/shoufeng/p/11360177.html
Elasticsearch增删改查 之 —— Update更新 - xingoo - 博客园 https://www.cnblogs.com/xing901022/p/5330778.html
How to use scripts | Elasticsearch Reference [7.x] | Elastic https://www.elastic.co/guide/en/elasticsearch/reference/7.x/moles-scripting-using.html
Painless API Reference | Painless Scripting Language [7.x] | Elastic https://www.elastic.co/guide/en/elasticsearch/painless/7.x/painless-api-reference.html#painless-api-reference
‘捌’ eprime一运行,编辑的脚本es文件就变成0字节,程序就自动退出,这可怎么办!
你好,你这个是兼容性问题,建议你换台机器,或者使用xp兼容模式及管理员权限运行。另外需要e-prime示例可以参考我的网络空间:http://hi..com/zkmilk
‘玖’ ES删除和修改返回参数说明
took
从整个操作开始到结束的毫秒数。
timed_out
true如果通过查询执行在更新期间执行的任何请求已超时,则设置此标志。
total
成功处理的文档数。
updated
成功更新的文档数。
deleted
成功删除的文档数。
batches
通过查询更新拉回的滚动响应数。
version_conflicts
查询更新导致的版本冲突数量。
noops
由于用于查询更新的脚本返回的noop值而被忽略的文档数ctx.op。
retries
按查询更新尝试的重试次数。bulk是重试的批量操作search数,也是重试的搜索操作数。
throttled_millis
要求遵守的毫秒数requests_per_second。
requests_per_second
在查询更新期间每秒有效执行的请求数。
throttled_until_millis
在按查询删除中,此字段应始终等于零。它只有在使用 Task API 时才有意义,它表示下一次(自epoch以来的毫秒数),为了符合,将再次执行受限制的请求requests_per_second。
failures
所有索引失败的数组。如果这是非空的,则请求由于这些失败而中止。有关conflicts如何防止版本冲突中止操作的信息,请参阅。
‘拾’ es文件浏览器中的新文件可以全删吗哪些可以删
新文件很多是你新安装的软件的文件,建议不要删,去清理一下冗余文件就好