
简介
Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎。
Elastic (官网:https://www.elastic.co) 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用,通过简单的REST api 隐藏了lucene的复杂性,从而让全文搜索变得简单。
- 查询 : Elasticsearch 允许执行和合并多种类型的搜索 — 结构化、非结构化、地理位置、度量指标 — 搜索方式随心而变。
- 分析 : 找到与查询最匹配的十个文档是一回事。但是如果面对的是十亿行日志,又该如何解读呢?Elasticsearch 聚合让您能够从大处着眼,探索数据的趋势和模式。
- 速度 : Elasticsearch 很快。真的,真的很快。
- 可扩展性 : 可以在笔记本电脑上运行。 也可以在承载了 PB 级数据的成百上千台服务器上运行。
- 弹性 : Elasticsearch 运行在一个分布式的环境中,从设计之初就考虑到了这一点。
- 灵活性 : 具备多个案例场景。数字、文本、地理位置、结构化、非结构化。所有的数据类型都欢迎。
- HADOOP & SPARK : Elasticsearch + Hadoop
Linux 安装教程见:https://blog.wangtwothree.com/database/33.html
下载
ElasticSearch 的下载地址:https://www.elastic.co/cn/downloads/elasticsearch

根据系统下载对应文件
安装
下载好之后将其解压到你想要安装的目录:比如我的 D:chengxuElasticSearchelasticsearch-6.3.0
以上,就算安装好了
运行
那么如何知道安装“好”了呢,运行一下就知道了
进入到 D:chengxuElasticSearchelasticsearch-6.3.0bin 中
双击执行 elasticsearch.bat
等待打印信息输出完之后打开浏览器输入:http://localhost:9200
页面显示如下,则说明安装好了

可视化的工具
一般情况下,我们都会通过一个可视化的工具来查看ES的运行状态和数据
这个工具我们一般选择head
ElasticSearch-head 依赖于 node.js
下面先安装node.js
node.js下载地址:http://nodejs.cn/download/
下载后,地接就是一个安装包,直接打开后除了安装路径自己按需设置外,其他的一路next就好,直到最后它自动安装完
最后打开cmd
输入:node --version 看能否打印出版本信息来检验安装是否正确就好了
node.js安装好后,切换目录到node.js的安装目录中。比如我的是D:chengxutoolsnode-js
运行命令安装 grunt
npm install -g grunt-cli
head 依赖的都安装完之后,就可以安装head 了。
下面是head的下载地址,在GitHub 中:https://github.com/mobz/elasticsearch-head

进入github后我们选择下载zip 压缩包,下载完之后将其解压到你想要安装的目录即可
比如我的是:D:chengxutoolselasticsearch-head
打开cmd 切换到 D:chengxutoolselasticsearch-head 中
然后执行 npm install
这是要将该目录下的相关文件解压并安装,具体有什么这里可以不用管
完成之后就可以将期启动:npm run start
看到最后输出如下即可知道安已启动好了

打开浏览器输入:http://localhost:9100/

这样说明它安装成功了
如果发现连接状态还是未连接,是因为es默认是不允许跨域连接的
那么我们要开启
进入到es的安装目录下,我这里是D:chengxuElasticSearchelasticsearch-6.3.0
然后进入config 文件夹
打开elasticsearch.yml 在末尾添加
http.cors.enabled: true
http.cors.allow-origin: "*"
保存,然后重启es ,再刷新一下 elasticsearch-head 即可
注:
http.cors.enabled 开启跨域访问支持,默认为false
http.cors.allow-origin 跨域访问允许的域名地址,支持用正则,我这里就偷偷懒,直接全部