Elasticsearch【快速入门】 (2)

官网最新版本 Elasticsearch (6.5.4),但是由于自己的环境使用最新版本的有问题(配合下面的工具 Kibana 有问题..Kibana 启动不了),所以不得不换成更低版本的 6.2.2,下载外链:戳这里,当然你也可以试一下最新的版本:

Elasticsearch【快速入门】

顺带一提:在下载之前你应该确保你的 Java 版本保持在 1.8 及以上(就 1.8 吧..),这是 Elasticsearch 的硬性要求,可以自行打开命令行输入 java -version 来查看 Java 的版本

下载完成后,可以看到是一个压缩包,我们直接解压在 D 盘上,然后打开 bin 目录下的 elasticsearch.bat 文件

Elasticsearch【快速入门】

等待一段时间后,可以看到小黑框输出一行 start ,就说明我们的 Elasticsearch 已经跑起来了,我们访问地址::9200/,看到返回一串 JSON 格式的代码就说明已经成功了:

Elasticsearch【快速入门】

安装 Kibana

这是一个官方推出的把 Elasticsearch 数据可视化的工具,官网在这里:【传送门】,不过我们现在暂时还用不到那些数据分析的东西,不过里面有一个 Dev Tools 的工具可以方便的和 Elasticsearch 服务进行交互,去官网下载了最新版本的 Kibana(6.5.4) 结果不知道为什么总是启动不起来,所以换一了一个低版本的(6.2.2)正常,给个下载外链:下载点这里,你们也可以去官网试试能不能把最新的跑起来:

Elasticsearch【快速入门】

解压到 D 盘(意外的有点慢..),同样打开目录下的bin\kibana.bat:

Elasticsearch【快速入门】

等待一段时间后就可以看到提示信息,运行在 5601 端口,我们访问地址 :5601/app/kibana#/dev_tools/console?_g=() 可以成功进入到 Dev-tools 界面:

Elasticsearch【快速入门】

点击 【Get to work】,然后在控制台输入 GET /_cat/health?v 查看服务器状态,可以在右侧返回的结果中看到 green 即表示服务器状态目前是健康的:

Elasticsearch【快速入门】

快速入门 一、基础概念-快速入门 节点 Node、集群 Cluster 和分片 Shards

ElasticSearch 是分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个实例。单个实例称为一个节点(node),一组节点构成一个集群(cluster)。分片是底层的工作单元,文档保存在分片内,分片又被分配到集群内的各个节点里,每个分片仅保存全部数据的一部分。

索引 Index、类型 Type 和文档 Document

对比我们比较熟悉的 MySQL 数据库:

index → db
type → table
document → row

如果我们要访问一个文档元数据应该包括囊括 index/type/id 这三种类型,很好理解。

二、使用 RESTful API 与 Elasticsearch 进行交互

所有其他语言可以使用 RESTful API 通过端口 9200 和 Elasticsearch 进行通信,你可以用你最喜爱的 web 客户端访问 Elasticsearch 。一个 Elasticsearch 请求和任何 HTTP 请求一样由若干相同的部件组成:

curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

被 < > 标记的部件:

部件名 作用
VERB   适当的 HTTP 方法 或 谓词 : GET、 POST、 PUT、 HEAD 或者 DELETE。  
PROTOCOL   http 或者 https(如果你在 Elasticsearch 前面有一个 https 代理)  
HOST   Elasticsearch 集群中任意节点的主机名,或者用 localhost 代表本地机器上的节点。  
PORT   运行 Elasticsearch HTTP 服务的端口号,默认是 9200 。  
PATH   API 的终端路径(例如 _count 将返回集群中文档数量)。Path 可能包含多个组件,例如:_cluster/stats 和 _nodes/stats/jvm 。  
QUERY_STRING   任意可选的查询字符串参数 (例如 ?pretty 将格式化地输出 JSON 返回值,使其更容易阅读)  
BODY   一个 JSON 格式的请求体 (如果请求需要的话)  

就比如计算集群中文档的数量,我们可以用这个:

curl -XGET 'http://localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } } '

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygxdp.html