1).集群健康度查询
为了检查集群健康状况,我们将使用_cat API。您可以在Kibana的控制台中运行命令GET /_cat/health?v,结果如图
其中关于kibana的安装,首先进入elastic官网下载https://www.elastic.co/products/kibana,下载压缩包解压后从控制台进入bin目录,执行kibana.bat文件。执行后访问端口是localhost:5601即可。
我们可以看到我们自定义命名的集群处于绿色状态。
集群健康有绿色,黄色或红色三种状态。
绿色 - 一切都很好(群集功能齐全)
黄色 - 所有数据都可用,但一些副本不可用(群集完全可用)
红色 - 某些数据因任意原因群集部分功能不可用
注意:当一个群集为红色时,它将继续提供来自可用碎片的搜索请求,但是我们需要尽快修复它,因为存在未分配的碎片
同样从上面的响应图中,我们可以看到总共有1个节点,并且我们有0个碎片,因为我们还没有数据。请注意,我们使用了自定义的节点。如果使用系统默认的节点名Elasticsearch,由于Elasticsearch默认使用单播网络搜索来查找同一台计算机上的其他节点,因此我们可能会意外启动计算机上的多个节点并使它们全部加入一个集群。在这种情况下,可能会在上述响应中看到多个节点
我们也可以通过指令GET /_cat/nodes?v来获取集群节点列表,执行后我们就能看到我们自定义的节点在这里,它是当前在我们集群中的单个节点。
执行命令:
GET /_cat/indices?v来查看集群中的索引,得到响应【health status index uuid pri rep docs.count docs.deleted store.size pri.store.size】表示当前集群没有索引
3)创建索引
现在我们执行命令
PUT /customer?pretty来创建索引,随后我们执行上一节中的查询命令
GET /_cat/indices?v来查看集群中的索引。响应如下图
响应结果告诉我们,我们现在有一个名为customer的索引,它有5个主分片和1个副本(默认值),它包含0个文档。
您可能还会注意到客户索引标有黄色健康状况。回想一下我们之前的讨论,黄色意味着一些副本没有(尚未)分配。这个索引发生这种情况的原因是因为Elasticsearch默认为这个索引创建了一个副本。由于此刻我们只有一个节点正在运行,因此只有在其他节点加入群集的时间点之后才能分配一个副本(以获得高可用性)。一旦该副本被分配到第二个节点上,该索引的健康状态将变为绿色。
4)Index and Query a Document
现在我们在索引中新建一个文档,注意在es6.0版本以后官方就不再建议使用type类型,而且在后续版本中将彻底废除。新建一个文档命令
edit
PUT /customer/_doc/1?pretty { "name": "John Doe" }
执行命令后响应为
从上面的响应中,我们可以看到客户索引中成功创建了新的客户文档。该文档的内部ID为1这是我们在索引时指定的。
需要注意的是,Elasticsearch并不要求您在将文档编入索引之前先显式创建索引。在前面的例子中,如果事先索引不存在的话Elasticsearch会自动创建客户索引。
Index and Query a Documentedit
Let’s now put something into our customer index. We’ll in重要的是要注意,Elasticsearch并不要求您在将文档编入索引之前先显式创建索引。在前面的例子中,Elasticsearch会自动创建客户索引,如果事先不存在的话。
现在我们就可以查询刚刚插入索引的文档了
除了找到的文档外,没有什么不寻常的,说明我们找到了一个带有所需ID为1的文档,另一个字段_source返回了我们从上一步编入索引的完整JSON文档。
5)删除索引
现在我们执行命令 DELETE /customer?pretty 删除刚刚创建的索引,然后重新执行 GET /_cat/indices?v查询删除后索引列表
现在我们的集群中就没有索引内容了。
现在我们回顾一下到目前为止学习到的指令有
PUT /customer PUT /customer/_doc/1 { "name": "John Doe" } GET /customer/_doc/1 DELETE /customer仔细观察上述命令的格式,可以概括为<REST Verb> /<Index>/<Type>/<ID>这种REST访问模式在所有API命令中都非常普遍,如果我们记住它,将有助于掌握Elasticsearch