前面向读者介绍了Elasticsearch的安装和基本配置,同时也向读者介绍了Elasticsearch中的核心概念,相信读者对Elasticsearch的使用已经有了一个初步的了解,接下来,向读者介绍Elasticsearch中的REST命令,Elasticsearch提供了一整套强大的REST命令来操作集群。接下来向读者详细介绍这个东西。
本文是Elasticsearch系列的第二篇,阅读前面的文章,有助于更好的理解本文:
1.elasticsearch安装与配置
当节点和集群启动后,下一步就是要考虑如何与节点和集群进行通信,幸运的是,Elasticsearch提供了一个非常全面和强大的REST API,开发者利用这个REST API,可以实现与集群之间的交互。这一套REST API主要提供了如下几个功能:
上面向读者介绍了Elasticsearch提供的REST API所具有的基本功能,接下来,我们就来看看这些基本功能具体如何操作。
由于是REST API,读者可以使用POST MAN,RESTClient等工具完成下面的测试,也可以直接使用curl命令来完成下面的测试。对于一些简单的如GET请求,也可以直接在浏览器中完成测试。
使用如下命令可以查看集群健康信息:
curl -X GET "localhost:9200/_cat/health?v"
查看结果如下:
从这个响应中,我们可以看到集群的名称,状态,节点数,分片数等等,其中:
通过如下请求可以查看节点的详细信息:
curl -X GET "localhost:9200/_cat/nodes?v"
请求结果如下:
可以看到,我们的节点名为iFO7DC9
通过如下命令可以查看所有索引:
curl -X GET "localhost:9200/_cat/indices?v"
请求结果如下:
从图中可以看到集群中索引的信息。
接下来,通过如下命令,我们可以创建一个名为customer的索引,并重新列出所有索引:
curl -X PUT "localhost:9200/customer?pretty"
curl -X GET "localhost:9200/_cat/indices?v"
执行结果如下:
请求命令解释:
通过如下请求可以添加一个文档:
curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"name": "John Doe"
}'
这个请求表示在customer中的_doc类型中添加一个文档,文档id为1,该命令执行结果如下:
小贴士:
Elasticsearch中,并不强制要求显式的创建索引,即前面案例中,如果开发者在添加文档之前,还没有创建customer索引,那么该文档一样也会创建成功的(此时索引会被自动创建)。
通过如下命令可以获取一个文档,最后面的1表示获取id为1的文档:
curl -X GET "localhost:9200/customer/_doc/1?pretty"
通过如下命令可以删除一个索引:
curl -X DELETE "localhost:9200/customer?pretty"
curl -X GET "localhost:9200/_cat/indices?v"
DELETE请求可以用来删除一个索引,该命令执行结果如下:
可以看到,customer索引已经被成功删除了。
这里向读者介绍的索引操作都是很常规,很简单的操作,后面会向读者介绍复杂的索引操作。 另外,读者总结上面的REST API格式,可以发现,API格式为:
curl -X <HTTP Verb> /<Index>/<Type>/<ID>
事实上,这个格式适用于所有的API,如果能记住它,对我们后面的学习会有很大的帮助。
好了,本文就先介绍到这里,有问题欢迎留言讨论。