ElasticSearch 基本概念以及安装(一)
ES基本概念
参考资料
https://segmentfault.com/a/1190000038278889
https://juejin.cn/post/6844904024357994504
-
Index 索引
相当于关系型数据库中,database的概念,但是我觉得从ES 7.x之后,Index更像关系型数据库中的表。 -
Type 类型
ES 7.x之前,一个Index中是可以创建多个Type的,但是ES 7.x之后,Index中默认只有 _doc 这个Type,而且ES 8.x之后,会移除 Type。 -
Document 文档
相当于数据库中行的概念 -
Node 节点
生产环境中,ES 都是集群方式部署的 。每一个 Node 就是 ES 的一个实例。根据功能的不同,可以分为三种节点:- 主节点:职责是跟集群操作相关的内容。如创建索引或删除索引,维护集群中相关状态。每个节点都可以访问集群的状态,但是只有主节点可以修改集群状态。
- 数据节点:数据节点主要是储存数据的节点,对文档进行增删改查,聚合操作等等,数据节点对cpu,内存,io要求较高,当资源不够的时候,可以增加新的节点,很方便的进行数据拓展。
- 客户端节点:主要处理路由请求,分发索引的操作。实际上主节点和数据节点也有路由转发的功能,但是为了提高效率,还是建议生产环境单独创建客户端节点。
-
Shard 分片
一个索引可以存储远超当个结点硬件限制的大量数据,是因为ES提供了将索引划分多份的能力,每一份就是一个 Shard 分片。 -
Inverted index 倒排索引
也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。如,现在有10条(document 文档)记录,查找记录中 content 字段中包含 Hello 关键字的记录。而Hello 关键字在(document 文档)记录1、3、5中出现。那么倒排索引就会建立为 Hello 对应 1、3、5记录。因此在检索Hello时,通过倒排索引,知道了Hello在1、3、5文档中出现,从而可以直接找出相关文档。
相关数据:
id content 1 Hello, Kate 2 Wath day! 3 Hello everyone! 4 Hi, Kate 5 Hello, Mama 6 Today is Monday 7 That’s right 8 Wath a pity! 9 All 10 Bad day! 倒排索引(列举部分字段)
分词 位置列表 Hello 1,3,5 Kate 1,4 Wath 2,8 day 2,10
Docker 安装 ElasticSearch
- 下载镜像
docker pull elasticsearch:7.4.2 docker pull kibana:7.4.2 # 用于可视化检索数据
- 创建 ElasticSearch 实例
mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml chmod -R 777 /mydata/elasticsearch docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ # 单结点模式 -e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \ #初始化内存 512MB 最大占用 1024MB -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ #挂载配置文件 -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ # 挂载数据目录 -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ # 挂载插件 -d elasticsearch:7.4.2 # 指定启动的镜像 docker update elasticsearch --restart=always # 设置开机自启动 docker logs container_id # 查看日志 systemctl restart docker # 重启docker
- 创建 Kibana 实例
访问 kibana :http://ip:5601docker run --name kibana -e ELASTICSEARCH_HOSTS="http://ip:9200" -p 5601:5601 -d kibana:7.4.2
上一篇: 恋爱第一次吵架可以,分手不行
下一篇: 餐厅、商店和金鱼等风趣冷幽默
推荐阅读
-
Ubuntu下安装Anaconda以及一些调试命令
-
Linux上PPTP VPN的一键安装以及设置开机启动的方法
-
DEV C++在win7系统中安装以及遇到的一些问题解决
-
Django的下载安装以及实现一个简单示例
-
centos7 安装mysql5.7以及一些细节问题
-
手把手安装Laravel框架(permissions扩展包)实现RBAC权限---以及一些安装时的ERROR
-
python安装环境搭建以及一些常用库的安装
-
win10安装ubuntu系统出现的一些问题以及解决方案
-
Linux下安装MySQL以及一些小坑
-
ElasticSearch实战系列一: ElasticSearch集群+Kinaba安装教程