为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口。

RESTful接口URL的格式:

http://localhost:9200/<index>/<type>/[<id>]

其中index、type是必须提供的。

id是可选的,不提供es会自动生成。

index、type将信息进行分层,利于管理。

index可以理解为数据库;type理解为数据表;id相当于数据库表中记录的主键,是唯一的。

索引文档的创建

将如下一条歌曲信息的数据提交到ES中创建索引:

[plain] view plain copy
  1. url:http://127.0.0.1:9200/song001/list001/1  
  2. data:{"number":32768,"singer":"杨坤","size":"5109132","song":"今夜二十岁","tag":"中国好声音","timelen":319}  

索引名字是:song001;

索引的类型是:list001;

本记录的id是:1

返回的信息可以看到创建是成功的,并且版本号是1;ES会对记录修改进行版本跟踪,第一次创建记录为1,同一条记录每修改一次就追加1。

至此一条记录就提交到ES中建立了索引,注意HTTP的方法是PUT,不要选择错了。

索引文档的查询

根据索引时的ID查询的文档的RESTful接口如下

url:http://127.0.0.1:9200/song001/list001/1
HTTP方法采用GET的形式。

索引文档的更新

根据索引时的ID更新的文档的内容其RESTful接口如下

url:http://127.0.0.1:9200/song001/list001/1
HTTP方法采用PUT的形式。

将歌手名由“杨坤”改成“杨坤独唱”;

结果中的version字段已经成了2,因为我们这是是修改,索引版本递增;created字段是false,表示这次不是新建而是更新。

更新接口与创建接口完全一样,ES会查询记录是否存在,如果不存在就是创建,存在就是更新操作。

 

索引文档的删除

根据索引时的ID更新的文档的内容其RESTful接口如下

url:http://127.0.0.1:9200/song001/list001/1
HTTP方法采用DELETE的形式。

删除过后,再通过查询接口去查询将得不到结果。

总结:

增删改查的RESTful接口URL形式:http://localhost:9200/<index>/<type>/[<id>]