当前位置: 首页 > article >正文

ElasticSearch 集群索引和分片的CURD

一、ES集群的索引

        背景:Elasticsearch会对所有输入的文本进行处理,建立索引放入内存中,从而提高搜索效率。在这一点上ES优于MYSQL的B+树的结构,MYSQL需要将索引放入磁盘,每次读取需要先从磁盘读取索引然后寻找对应的数据节点,但是ES能够直接在内存中就找到目标文档对应的大致位置,最大化提高效率。

        ES为了提高搜索效率、优化存储空间做了很多工作。为了能够快速定位到目标文档,ES使用倒排索引技术来优化搜索速度,虽然空间消耗比较大,但是搜索性能提高十分显著。

        ES的filter语句采用了Roaring Bitmap技术来缓存搜索结果,保证高频filter查询速度的同时降低存储空间消耗。

(一)索引(index):

用户写入ES集群的逻辑单元。

(二)分片(shard):

一个索引最少一个分片。将索引的数据分布式的存储在ES集群。

(三)副本(replica):

一个分片可以有0个或多个副本。为同一个分片数据提供数据冗余。

(四)文档(docment):

1.所有的数据都是以文档的形式存储,并存储在分片中。

2.数据对应一个json的object数据类型存储。

(五)主分片和副本分片的区别:

主分片可以用于读写操作(rw)。
副本分片仅能用于读取操作(ro)。    

二、分片

默认半数分片写入成功即可:主分片数量+副本分片数量+1

三、集群的颜色:

(一)绿色 GREEN

表示所有的主分片和副本分片均正常工作。

(二)黄色 YELLOW

表示有部分副本分片不正常工作。

(三)红色RED

表示有部分主分片不正常工作。

四、索引管理

(一)Google浏览器安装插件试图查看索引状态

(二)查看索引

1.查看所有的索引
curl -X GET 10.0.0.151:9200/_cat/indices
2.查看单个索引
10.0.0.151:9200/.geoip_databases

(二)创建索引

1.创建默认索引
curl -XPUT 10.0.0.151:9200/oldboyedu-linux85
{
    "settings":{
        "number_of_shards":3
    }
}

2.创建指定的分片

创建yedu-linux85索引,具备三个分片一个副本;

三个分片一个副本


    

3.创建指定的分片和副本
curl -XPUT 10.0.0.151:9200/yedu-linux87
{
    "settings":{
        "number_of_shards":3
    }
}

 三个分片,0个副本

 4.创建指定分片,让部分分片不能工作

5个分片,3个副本

1个主分片+3个副本分片 >  主机数量 ;会限制一个主分片+3个副本分片

现象:有部分分片没有正常工作,显示黄色

2个副本+1个主分片 = 3个 没有超过主机数量

 

(三)修改索引

1.修改副本

1、5个分片+1个副本

2、1个主分片+1个副本 < 主机数量

 

2.修改分片

修改分片失败;

失败的原因:文档写入哪个分片编号计算公式=hash(文档ID) % primary_shards_numbers ----> [0,2]

(四)删除索引

1.删除单个索引
curl -XDELETE 10.0.0.151:9200/yedu-linux88-002

 

2.基于通配符删除多个索引

 


http://www.kler.cn/a/287651.html

相关文章:

  • 任意文件下载漏洞
  • 如何在 Ubuntu 上安装 Emby 媒体服务器
  • 蓝桥杯-顺子日期
  • Redis性能优化——针对实习面试
  • 《操作系统 - 清华大学》3 -3:连续内存分配:内存碎片与分区的动态分配
  • WP网站如何增加文章/页面的自定义模板
  • 51单片机-LED闪烁
  • MD5 数字摘要算法的详细介绍与 Python 实现
  • RabbitMQ安装步骤
  • 一键编译QT5源码脚本(交叉编译arm64、mips64版本)
  • Laravel邮件发送功能的实现的方法和技巧?
  • 【HTML】模拟消息折叠效果【附源代码】
  • 云计算day37
  • 解决Linux安装epel源提示没有可用安装包
  • 访问Neo4j验证失败(The client is unauthorized due to authentication failure.)
  • 缓存使用-缓存击穿、穿透、雪崩概念
  • 数据仓库系列13:增量更新和全量更新有什么区别,如何选择?
  • 基于单片机的自动浇花控制写设计任务书
  • python语言基础(六)--深浅拷贝、闭包与装饰器
  • element-plus 报错 ResizeObserver loop limit exceeded 解决
  • 线性代数 第五讲:线性方程组_齐次线性方程组_非齐次线性方程组_公共解同解方程组_详解
  • 建模杂谈系列254 GMM的拟合
  • 深度学习模板方法设计模式
  • OZON收纳产品,OZON热卖收纳产品
  • 视频结构化从入门到精通——视频结构化主要技术介绍
  • k8s安装test