简介
Elasticsearch
使用 Java
语言开发,使用 Elastic
开源协议,实时分布式开源的全文搜索和分析引擎;
Elasticsearch
通过 RESTful Web
服务接口访问,并使用 JSON
文档来存储数据;
Elasticsearch
使用 Java
作为开发语言,但却能够跨平台运行,可以使用者非常快速的探索大量的数据。
Elasticsearch
官网
Elasticsearch
的官方网址是: https://www.elastic.co/products/elasticsearch
Elasticsearch
的下载地址是: https://www.elastic.co/downloads/elasticsearch
Elasticsearch
的特性
1. 安装方便:没有其他依赖,下载后安装非常方便;只用修改几个参数就可以搭建起来一个集群
2. JSON:输入/输出格式为 JSON,意味着不需要定义 Schema,快捷方便
3. RESTful:基本所有操作 ( 索引、查询、甚至是配置 ) 都可以通过 HTTP 接口进行
4. 分布式:节点对外表现对等(每个节点都可以用来做入口),加入节点自动均衡
5. 多租户:可根据不同的用途分索引;可以同时操作多个索引
6. 支持超大数据: 可以扩展到 PB 级的结构化和非结构化数据
7. Elasticsearch 可以用来替代 MongoDB 和 RavenDB 等文档数据库
说了这么多,其实只有一个优点: 如果想要创建自己的搜索引擎,那么 Elasticsearch 是唯一的不可替代的方案,没有之一
Elasticsearch 优点
1、Elasticsearch 使用 Java 作为开发语言,所以可以运行在任何平台上
2、Elasticsearch 是实时的,换句话说,就是在添加了文档后就可以立刻搜索到刚刚添加的文档
3、Elasticsearch 是分布式的,可以轻松扩展并集成到任何大型组织中
4、通过使用 Elasticsearch 中的网关概念,轻松创建完整备份
5、与 Apache Solr 相比,Elasticsearch 中处理多租户非常容易
6、Elasticsearch 使用 JSON 对象作为响应,这是当下最流行的数据交换格式
7、Elasticsearch 几乎支持所有文档类型,但不能渲染的文本除外,例如二进制数据
Elasticsearch 缺点
1、与 Apache Solr 不同,Elasticsearch 在处理请求和响应数据方面不支持多种数据格式,也就是说只支持 JSON
Apache Solr 支持多种数据传输格式,比如 CSV,XML 和 JSON 格式
2、Elasticsearch 也存在脑裂 ( Split-Brain ) 的情况,但发生的可能性很少
Split-Brain,中文一般翻译为脑裂,脑裂问题就是产生了两个 leader,导致集群行为不一致
准备工作(Window/Linux)
使用 Elasticsearch 的第一步,就是先把它装起来,而得益于使用 Java 作为开发语言,安装 Elasticsearch 就非常简单,因为 Java 可以跨平台运行,所以 Elasticsearch 天生就是可以跨平台的。
安装Java和Node.js
安装Java
Windows安装
注意:安装有压缩版和安装版两种安装方式,因个人而异
安转完成后,在cmd里面输入Java -version
,跳出版本号,则安装成功
Linux安装
安装教程:https://www.cnblogs.com/MrZhangxd/p/12634155.html
注:以阿里云安装为例,阿里云部署为Centos7系统。
安装Node.js
Node.js安转教程:https://www.cnblogs.com/aizai846/p/11441693.html
Node.js安装教程:https://www.cnblogs.com/chenhaoyu/p/10237505.html
下载Elasticsearch
下载官网上面已经提到了,下载版本自己选就可以。
鸣谢
https://www.cnblogs.com/aizai846/p/11441693.html
https://www.cnblogs.com/chenhaoyu/p/10237505.html
借用以上两博主的安装教程【Node.js安装教程(Windows/Linux)】