es索引有哪几种常见状态的

es索引有哪几种常见状态的,第1张

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是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。

同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向扩展至数以百计的服务器存储以及处理PB级的数据。

可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。

1.结构名称不同

2.ES分布式搜索,传统数据库遍历式搜索

3.ES采用倒排索引,传统数据库采用B+树索引

4.ES没有用户验证和权限控制

5.ES没有事务的概念,不支持回滚,误删不能恢复

6.ES免费,完全开源;传统数据库部分免费

有关更详细的比较内容,可以到黑马程序员官网找到社区技术文章,找不到可以对话框问一下。里面还有结合工作的举例。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存