1.检测集群是否健康
curl 'es1:9200/_cat/health?v'
绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用
2.通过如下语句,我们可以获取集群的节点列表:
curl 'es1:9200/_cat/nodes?v'
3.通过如下语句,列出所有索引:
curl 'es1:9200/_cat/indices?v'
4.创建索引
现在我们创建一个名为“customer”的索引,然后再查看所有的索引:
curl -XPUT 'es1:9200/customer?pretty'
curl 'es1:9200/_cat/indices?v'
目前索引是空的,没有数据
如上:它有五个私有的分片以及一个副本,在它里面有0个文档。
5.插入和获取
现在我么插入一些数据到集群索引。我们必须给ES指定所以的类型。如下语句:"external" type, ID:1:
主体为JSON格式的语句: { "name": "John Doe" }
命令说明:主机地址:端口/索引名称/文件类型/文件ID,此处文件ID设置为1
具体如下,注意回车空格等符号:
curl -XPUT 'es1:9200/customer/external/1?pretty' -d '{"name": "John Doe"}'
获取GET,语句如下:
curl -XGET 'es1:9200/customer/external/1?pretty'
其中含义为:获取customer索引下类型为external,id为1的数据,pretty参数表示返回结果格式美观。
含有我们插入的name信息,和一些元数据。
6.删除索引 DELETE
curl -XDELETE 'es1:9200/customer?pretty'
7. 增删改查命令小结
通过以上命令语句的学习,我们发现索引的增删改查有一个类似的格式,总结如下:
url -X<REST Verb> <Node>:<Port>/<Index>/<Type>/<ID>
<REST Verb>:REST风格的语法谓词
<Node>:节点ip
<port>:节点端口号,默认9200
<Index>:索引名
<Type>:索引类型
<ID>:操作对象的ID号
--查看单个索--
curl -X GET es1:9200/index_name
--查询单个索引的mapping--获取mapping,可以查看有哪些type--
curl -X GET es1:9200/index_name/_mapping
--直接查询某id--
curl -X GET es1:9200/index_name/_search?q=id:1102542840582819840
8.修改数据
覆盖实现修改
curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
"name": "John Doe"
}'
curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
"name": "Jane Doe"
}'
上述命令语句是:先新增id为1,name为John Doe的数据,然后将id为1的name修改为Jane Doe。
9.未完成
还有很多操作,暂不举例。
10.查询某个索引的mapping
curl -XGET 'es1:9200/index_name/_mapping'
------------------------------删除索引,创建新的Mapping--------------------------------
curl -XDELETE es1:9200/user_index
curl -XDELETE es1:9200/user_index
再按mapping,重建索引。
再查看索引是否存在
curl 'es1:9200/_cat/indices?v'
查看索引
curl -X GET es1:9200/user_index