本篇内容主要讲解“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的基础知识有哪些”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文章标题:elasticsearch的基础知识有哪些
网页链接:http://scyingshan.cn/article/gdosoo.html