elasticsearch的基础知识有哪些

本篇内容主要讲解“elasticsearch的基础知识有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“elasticsearch的基础知识有哪些”吧!

定义

  • Cluster: 集群,由一个或多个节点组成

  • Node: 单个 Elastic 实例

  • Index: 索引,复数是 Indices,是一组文档的集合

  • Shard: 分片,es 是个分布式的搜索引擎,索引通常都会被分解成不同部分,而这些分布在不同节点上的数据就是分片,

  • replica: 副本,ES 默认为每个索引创建 5 个主分片,并分别为其创建一个副本分片

  • Type: 类型,ES7 已经弃用,默认一个索引只有一个默认 Type,即_doc

  • Document: 文档,json 类型

Mysql 类比

  • Index 对应 Database

  • Type 对应 Table

  • Document 对应 表里每一条记录

ES7.0 Type 被废弃

  • 从 ES7.0 版本起,废弃 Type,一个 index 只有一个默认 type,即 _doc

  • ES 废弃 Type 后,库表合一

与 Mysql 类比

  • ES 实例 对应 Database

  • Index 对应 Table

  • Document 对应 表里的每一条记录

文档唯一性

一般讲 index + type + 文档 _id 在一个实例或集群全局唯一, 实际上是 index + type + 分片标识 + 文档 _id

数据类型

见官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/7.2/mapping-types.html

字符串类型

  • ES5.0 之前,字符串是 string

  • 从 ES5.0 起,string 类型被废弃,引入 keyword, text 两种类型

  • keyword 不支持全文搜索,只能使用精准匹配,最长长度 32766 字节(utf8 中,英文字母是 1 字节,中文是 3 字节,表情符合是 4 字节)

  • text 支持全文搜索,无限制长度

数组

  • 正常 json 数组,[]

  • 查询时,命中数组中的其中一个,就会认为符合条件

mapping 和 settings 结构

ES7

{
  "mappings" : {
    "properties" : {
      "name" : {                    // 属性名
        "type" : "keyword"          // 属性类型
      }
    }
  },
  "settings" : {
    "index" : {
      "number_of_shards" : 1,       // 分片数
      "number_of_replicas" : 2      // 副本数
    }
  }
}

ES6

{
  "mappings" : {
    "student": {                    // 自定义type
      "properties" : {
        "name" : {                  // 属性名
          "type" : "keyword"        // 属性类型
        }
      }
    }
  },
  "settings" : {
    "index" : {
      "number_of_shards" : 1,       // 分片数
      "number_of_replicas" : 2      // 副本数
    }
  }
}

问题

创建索引时,必须指定 mapping 和 settings 吗?

不是,有以下几种行为:

  • ES7 中在创建索引时,指定 mapping

  • ES7 中在创建索引时,指定 mapping 和 settings

  • ES7 中先创建索引,后指定 mapping

  • ES6 中在创建索引时,指定 mapping 和 settings

设置索引副本数量和分片数量是为了什么?

  • 每个节点的分片数量保持在低于每 1GB 堆内存对应集群的分片在 20-25 之间。

  • 分片大小为 50GB 通常被界定为适用于各种用例的限制。

到此,相信大家对“elasticsearch的基础知识有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/225652.html

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

相关推荐

发表回复

登录后才能评论