ElasticSearch学习系列(二)简单创建数据
上一节我们安装好了kibana,打开DevTools。
一、新增数据
1.不指定ID。
############Create Document############
#create document. 自动生成 _id
POST users/_doc
{
"user" : "Mike",
"post_date" : "2019-04-15T14:12:12",
"message" : "trying out Kibana"
}
执行结果(点击播放箭头):

我们看到,索引_index,_type分别对应着 POST后面的 users/_doc 。
这里需要指出的 _type默认全部为_doc,后面在介绍。
在elasticsearch中,有一个很重要的概念叫做索引,关系型数据库里面的每一行数据可以理解成一个文档,文档是最小单元。
index-索引是一类文档的结合,你可以理解成是表的定义(包含字段名称,字段类型),文档是它里面的行数据。

2.指定ID
#create document. 指定 ID 如果已经存在,就报错 PUT users/_create/1 { "user" : "Jack", "post_date" : "2019-05-15T14:12:12", "message" : "trying out Elasticsearch" }
细心的同学可能发现,这里的请求类型是PUT,如果要指定ID,必须要使用PUT请求。
PUT user/_create/1 POST user/_doc
我们发现两个变化,PUT请求索引后面,带了一个_create关键字以及多了一个id值1。
如果指定了ID,提交多次,将会返回错误信息:
{ "error" : { "root_cause" : [ { "type" : "version_conflict_engine_exception", "reason" : "[1]: version conflict, document already exists (current version [1])", "index_uuid" : "tz9y9j6XQnKYOcB3qXSJBQ", "shard" : "0", "index" : "users" } ], "type" : "version_conflict_engine_exception", "reason" : "[1]: version conflict, document already exists (current version [1])", "index_uuid" : "tz9y9j6XQnKYOcB3qXSJBQ", "shard" : "0", "index" : "users" }, "status" : 409 }
注意,reason:“[1]" 这里的1指的是id值。
3.通过参数形式指定操作类型:
PUT users/_doc/1?op_type=create { "user" : "Jack", "post_date" : "2019-05-15T14:12:12", "message" : "trying out Elasticsearch" }
这种方式通过 op_type=create指定是创建。
这个对于程序调用来说,将能够动态的切换不同操作类型,比如 update...
OK,我们已经成功插入了数据,但我们出了api接口返回结果通知之外,我们如何在kibana界面上面查看呢?

找到左侧菜单,点击Stack Management菜单。

找到IndexManage 可以看到我们的 索引 users(表概念)

可以看到 一共有8条文档数据,如果需要查看具体doc数据内容需要用查询语句执行,也可以用其他插件,后面再介绍。

浙公网安备 33010602011771号