es关闭索引
因为只要索引处于open状态,就会占用内存+磁盘;
如果将索引close,只会占用磁盘
curl -XPOST 'localhost:9200/index/_close'
在es中删除文档,数据不会马上在硬盘上删除,而是在es索引中产生一个.del 文件;
并且es在检索过程中也会把.del文件进行检索(因为都是当前下的索引片段),然后es在把标记有.del的文档进行过滤;【这并没有提高检索的效率】
实际上如果当前有大量的.del文件,我们应该让.del真正的从es中抹去,这样就优化了检索的效率,不至于检索后在过滤;
在索引合并阶段就会删除.del文件,所以可以执行以下命令清楚.del文件:
Curl -XPOST ‘’
es索引有哪几种常见状态的
ES新手入门学习的时候,经常会和MySQL做对比,一个索引可以理解为一个数据库,分片就可以理解为一张表被分割了shards_numbers - 1次,文档类型为type类型,在高版本中在逐渐被剔除。
ES官方也给出了答案:作者不希望不同类型的相同字段在同一个Lucene中。

索引的状态有:红色、黄色、绿色和黑色四种(ES插件可以看出来)。
green:健康状态,代表所有的主分片和副本分片都可用;
yellow:所有的主分片可用,部分副本分片不可用;
red:部分主分片不可用;
black:索引处于关闭状态,不对外进行交互,一般磁盘空间不足时ES会自动设置。
ES是一款近实时的搜索引擎,而非实时的搜索引擎。ES每秒产生一个新分段,新段先写入文件系统缓存(对读取可见),稍后再执行刷盘操作。由于新段不会立即刷盘,这个过程如果出现意外情况,存在数据丢失的风险,通常做法是记录事务日志。
分片的目的不只是为了分割巨大的索引,还可以并发读。一个索引包含多个分片,一个分片是一个Lucene索引,一个Lucene索引又由很多分段组成,每一个分段都是一个倒排索引。
段合并:ES会选择大小相似的段进行合并,ES每次refersh都会生成一个Lucene段,每次查询都会轮流检查每一个段,查询完对结果进行合并,段越多,搜索也就越慢。由于分段的不变性(访问不需要加锁),更新删除操作本质是标记删除,在段合并的过程中,标记删除的数据并不会写入到新段中,这样就达到了删除的目的。写操作先写Lucene段,再写translog,如果先写translog,写入Lucene段失败,则还需要对translog进行回滚处理。
ES的只读和删除设置,是对索引和磁盘的一种保护机制,当然也可以手动设置索引的只读和删除,以下是ES自动触发的:

索引的别名操作,比如要对一个月的所有索引(每天创建一个索引)进行处理,就可以为索引创建别名,一个索引可以有多个别名,一个别名也可以指向多个索引。
数据库
文章转载自李宇涛L,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

相关阅读
202
【es】es清空index中数据的方法
如何删除某个索引下的所有数据?
删除所有数据:(注意请求方式是Post,只删除数据,不删除表结构)
ES删除全部数据的方法(Delete By Query)
ElasticSearch 清空index数据的方法
ElasticSearch 定时批量删除N天前的数据
ElasticSearch 清空index数据的方法 _delete_by_query
document APIs » Delete by query API
关于es删除索引和es删除索引模板的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。