点击前往Elastic官网
1、ElasticSearch概念
Elasticsearch 是一个分布式使用 RestFul 风格的数据搜索引擎
Elasticsearch 是基于 Lucene 的搜索服务器,提供了一个分布式全文搜索引擎
Elasticsearch 是当前流行的企业级搜索引擎,能够达到实时搜索,且稳定,可靠,快速。
专业术语 | 概念 |
---|---|
Node(节点) | 单个的装有Elasticsearch服务并且提供故障转移和扩展的服务器。 |
Cluster(集群) | 一个集群就是由一个或多个node组织在一起,共同工作,共同分享整个数据具有负载均衡功能的集群。 |
Document(文档) | 一个文档是一个可被索引的基础信息单元。 |
Index(索引) | 索引就是一个拥有几分相似特征的文档的集合。 |
Type(类型) | 一个索引中,你可以定义一种或多种类型。 |
Field(列) | Field是Elasticsearch的最小单位,相当于数据的某一列。 |
Shards(分片) | Elasticsearch将索引分成若干份,每个部分就是一个shard。 |
Replicas(复制) | Replicas是索引一份或多份拷贝。 |
1.2、Elasticsearch 和 传统数据库对比
关系型数据库(如 MySQL) | 非关系型数据库(Es) |
---|---|
数据库 Database | 索引 Index |
表 Table | 类型 Type |
数据行 Row | 文档 Document |
数据列 Column | 字段 field |
2、Elasticsearch 架构
2.1、Elasticsearch 使用情况
3、安装并运行 Elasticsearch
官方获取地址:点击前往(下载并解压即可使用)
- bin目录下elasticsearch.bat启动命令
- 成功运行节点
-
默认情况下,Elasticsearch使用 9200 来提供对Rest API的访问(可配置)
-
访问9200(以JSON格式将数据返回)
- 9300:集群节点间通讯接口
- 9200:客户端访问接口
-
配置 JVM 参数
-
elasticsearch-6.3.0\config\jvm.options
-
修改绑定IP,改为远程访问
-
elasticsearch-6.3.0\config\elasticsearch.yml
network.host: 0.0.0.0
3.1、Elasticsearch目录结构
目录 | 结构 |
---|---|
/bin | 运行ElasticSearch实例和管理插件的一些脚本 |
/config | 配置文件路径,包含 elasticsearch.yml |
/data | 在节点上每个索引/碎片的数据文件的位置,可以有多个目录 |
/lib | ElasticSearch使用的库 |
/logs | 日志的文件夹 |
/plugins | 已经安装的插件存放位置 |
4、 一些相关概念
-
API: Application Progarmming Interface(应用程序接口)
无需访问源码或者了解内部的工作机制,通过接口访问应用程序的数据,让程序更加方便的去调用或扩展
-
XML: 可扩展标记语言,是一种程序与程序之间传输数据的标记语言
逐渐不使用xml了,1、XML文件格式比较庞大比较复杂,传输占用宽带;2、服务端和客户端都要花费大量的代码去解析XML;3、不同浏览器之间解析XML的方式不一致,需要重写很多代码,不容易维护;慢慢被JSON代替
-
JSON: JavaScript object notations(一种新型的轻量级数据交换格式)
1、数据格式比较简单,易于阅读,易于读写;2、格式是压缩的,占用带宽比较小;3、易于解析;4、支持很多语言,C,C++,Java,Perl,PHP,Python...(当前流行语言都支持);5、Json数据直接能为服务端代码使用,简化服务端以及客户端代码量;
使用JSON的人越来越多,都希望遵循一种风格去设计这个程序,RestFul这个风格就应运而生了
-
RestFul: Representational State Transfer(表现层状态转化)
-
CURL: 以命令的方式来执行HTTP协议的请求的工具
来源:oschina
链接:https://my.oschina.net/tingqianyunluo/blog/3217261