Elasticsearch学习-- 概念(节点、分片、集群、type、mapping)

一、Es的用途

1. 分布式的搜索、存储和分析引擎

2. 搜索引擎类的数据库

3. 应用范围广泛

垂直搜索引擎

4. 上手简单

相对于Lucene, es上手很简单

二、节点

每个节点就是一个java进程,就是一个elasticsearch的实例

一个节点不等于一个服务器

1. 节点的角色

 master节点可以有多个,其中有一个是主节点,主节点挂了以后,会从其他的master节点中选举一个主节点

master节点默认为投票节点,但是有的节点是仅投票节点

三、分片

 主分片:可以进行数据的读和写

副本分片:作为主分片的备份,不可以直接进行写数据,只可以对主分片进行数据同步。增加数据的安全性,提高集群的可用性

索引创建以后,主分片数量不可以进行修改(除非重新创建索引),副本分片数量可以修改

每个节点是一个es的实例,每个节点可以包含多个分片,每个分片是一个Lucene的实例

当节点数发生变化时,es会自动进行分片均衡

四、集群

由多个节点组成的高可用的、分布式的系统叫做集群

es原生就是分布式的

五、Type

es7.0以前,索引是由很多个type组成的;

7.x弱化了type的概念,用_doc

8.x完全删除type

** 所有索引的名称都是小写,如果涉及多个单词,用下划线_隔开

六、mapping

 mapping类似于关系型数据库中的表结构。在mapping中包含了一些属性,比如:字段名称、类型、字段使用的分词器、是否评分、是否创建索引等属性。

1. 查看mapping

下划线_开头,表示使用的是一个api

# 查看mapping 
GET /test_index/_mapping

其中,type是字段类型

2. es支持的数据类型

 正排索引用于排序和聚合

倒排索引用于文本检索

text类型默认会创建倒排索引,不创建正排索引

其他类型:

 3. dynamic mapping  自动映射

创建索引时,不指定每个字段的类型,就叫做dynamic mapping

映射规则:

所有text类型的字段,会默认添加一个fileds属性

b会被分词,b.keyword不会被分词

 4. explicit mapping 手动映射

手动创建mapping

 mapping创建以后,不能修改type属性了

# 手动创建索引
PUT /test_index2
{
  "mappings": {
    "properties": {
      "a":{
        "type":"text",
        "analyzer": "standard"
      },
      "b":{
        "type":"long"
      }
    }
  }
}

GET /test_index2/_mapping

5. 手动映射的参数

 

10.fileddata:创建正排索引,doc_value是在磁盘中进行正排索引,fileddata在内存中进行正排索引

14. ignore_malformed: 忽略类型错误,常用于数据同步

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值