通过HTTP RESTful API 操作elasticsearch索引

在elasticsearch中,一个文档属于一种类型,而索引中包含各种类型。
可以粗糙简单的用关系型数据对比下:

Relational DB ⇒ Databases ⇒ Tables ⇒ Rows ⇒ Columns 

Elasticsearch ⇒ Indices ⇒ Types ⇒ Documents ⇒ Fields

一个elasticsearch集群中可以包含很多索引(数据库),索引中包含各种类型(表),而这些类型中包含各种文档(行),每个文档又包含各种字段(列)


创建索引:

curl -XPUT 'localhost:9200/customer?pretty'

{
  "acknowledged" : true
}

列出所有索引:

curl 'localhost:9200/_cat/indices?v'

结果:

health status index              pri rep docs.count docs.deleted store.size pri.store.size 
yellow open   .marvel-2015.09.29   1   1      29143            0     47.2mb         47.2mb 
yellow open   .marvel-2015.09.28   1   1      27639            0     43.8mb         43.8mb 
yellow open   customer             5   1          0            0       575b           575b 
yellow open   .marvel-kibana       1   1          2            0     18.7kb         18.7kb 

customer索引 有5个主分区,1个副本(默认就一个副本),0个文档。
customer索引 健康状态是“黄色”,这意味着没有分配多个副本,这种情况发生在创建索引使用一个副本。目前我们就运行在一个节点上,不能分配多个副本,但当其他节点加入该集群后,就可以在新加入的节点中有新的副本,此刻健康状态变成“绿色”


添加文档(document):
JSON document: { “name”: “John Doe” }

curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
  "name": "John Doe"
}'

结果:
{
  "_index" : "customer",
  "_type" : "external",
  "_id" : "1",
  "_version" : 1,
  "created" : true
}

检索文档:

curl -XGET 'localhost:9200/customer/external/1?pretty'
结果:
{
  "_index" : "customer",
  "_type" : "external",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source":
{
  "name": "John Doe"
}
}

_source:返回完整的JSON内容


删除索引:

curl -XDELETE 'localhost:9200/customer?pretty'
{
  "acknowledged" : true
}

总结:

curl -X<REST Verb> <Node>:<Port>/<Index>/<Type>/<ID>

REST Verb:PUT,GET,DELETE等
Index:相当于关系型数据库中的”数据库”
Type:相当于关系型数据库中的”表”
ID:相当于关系型数据库中的”行”


尊重原创,拒绝转载
http://blog.csdn.net/stark_summer/article/details/48813455

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值