es学习第一步
1. es基础
1.1 es定义
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口
es相当于数据库,没有数据格式约束。
1.2 ES数据架构的主要概念(与关系数据库Mysql对比)
(1)关系型数据库中的数据库(DataBase),等价于ES中的索引(Index)
(2)一个数据库下面有N张表(Table),等价于1个索引Index下面有N多类型(Type),
(3)一个数据库表(Table)下的数据由多行(ROW)多列(column,属性)组成,等价于1个Type由多个文档(Document)和多Field组成。
(4)在一个关系型数据库里面,schema定义了表、每个表的字段,还有表和字段之间的关系。 与之对应的,在ES中:Mapping定义索引下的Type的字段处理规则,即索引如何建立、索引类型、是否保存原始索引JSON文档、是否压缩原始JSON文档、是否需要分词处理、如何进行分词处理等。
(5)在数据库中的增insert、删delete、改update、查search操作等价于ES中的增PUT/POST、删Delete、改_update、查GET.
2. ES特点和优势
1)分布式实时文件存储,可将每一个字段存入索引,使其可以被检索到。
2)实时分析的分布式搜索引擎。
分布式:索引分拆成多个分片,每个分片可有零个或多个副本。集群中的每个数据节点都可承载一个或多个分片,并且协调和处理各种操作;
负载再平衡和路由在大多数情况下自动完成。
3)可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。也可以运行在单台PC上(已测试)
4)支持插件机制,分词插件、同步插件、Hadoop插件、可视化插件等。
3. 如何部署es
3.1必要工具
elasticsearch、es-head、kibana
3.2环境
jdk1.7以上
node.js
3.3es下载安装
#es : nosql型的数据库
官网的下载地址 https://www.elastic.co/cn/downloads/elasticsearch window系统 百度网盘: https://pan.baidu.com/s/1ZjRyivbtE-bzLWzvBqfJgw 提取码: totp linux系统 百度网盘: https://pan.baidu.com/s/1oBsZRlJ-D8KfNLTrs1FVZA 提取码: t34k 解决跨域问题: 编辑 elasticsearch-7.6.0\config http.cors.enabled: true http.cors.allow-origin: "*" 启动:elasticsearch-7.6.2\bin\elasticsearch.bat#检查http://localhost:9200/
3.4 es-head下载安装
#es-head :操作es数据库的客户端
https://github.com/mobz/elasticsearch-head #在根目录中,运行 #修改安装镜像为阿里云镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org #安装依赖项 cnpm install #启动项目 npm run start #查看页面 localhost:9100
3.5 kibana下载,使用
#kibana : 使用restful接口对es数据库操作,crud
window系统 百度网盘: https://pan.baidu.com/s/1oT8XojOmiKE0CxWMyl2JKA 提取码: lcu7 linux系统 百度网盘: https://pan.baidu.com/s/1JKzseI1gL1dJcIrhs14-wA 提取码: qbri #中文化处理 #编辑config下的kibana.yml i18n.locale: "zh-CN"#使用localhost:5601http://localhost:5601/app/kibana#/dev_tools/console
参考: