美文网首页ElastichSearchelasticsearch玩转大数据
十四、Elasticsearch的document的id自动与手

十四、Elasticsearch的document的id自动与手

作者: 编程界的小学生 | 来源:发表于2017-07-04 15:36 被阅读211次

1、手动指定document的id
(1)根据应用情况来说,是否满足手动document id的前提

一般来说,是从某些其他的系统中,导入一些数据到es时,会采取这种方式,就是使用系统中已有数据的唯一标识,作为es中document的id。举个例子,比如说,我们现在在开发一个电商网站,做搜索功能,或者是OA系统,做员工检索功能。这个时候,数据首先会在网站系统或者IT系统内部的数据库中,会先有一份,此时就肯定会有一个数据库的primary key(自增长,UUID,或者是业务编号)。如果将数据导入到es中,此时就比较适合采用数据在数据库中已有的primary key。

如果说,我们是在做一个系统,这个系统主要的数据存储就是es一种,也就是说,数据产生出来以后,可能就没有id,直接就放es一个存储,那么这个时候,可能就不太适合说手动指定document id的形式了,因为你也不知道id应该是什么,此时可以采取下面要讲解的让es自动生成id的方式。

案例:

PUT /test_index/test_type/2
{
  "test_content": "my test"
}

2、自动生成document id

POST /test_index/test_type
{
  "test_content": "my test"
}

返回结果

{
  "_index": "test_index",
  "_type": "test_type",
  "_id": "AVp4RN0bhjxldOOnBxaE",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "created": true
}

自动生成的id,长度为20个字符,URL安全,base64编码,GUID,分布式系统并行生成时不可能会发生冲突

Paste_Image.png

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


qrcode_for_gh_577b64e73701_258.jpg

相关文章

网友评论

  • 32cd30e0441e:就算是照搬视频,也得有人整理啊,整理得非常好,受益于大众,顶起!!!
  • 39cc6769615f:同学,你这个博客我好像从哪见过,讲道理哈,这个照搬别人视频资料的做法不太好吧
    编程界的小学生:资料不就是学习用的么?不管照搬还是模仿还是原创,发出来不就是为了自己留着以后看和供大家学习么?如果不是这样为什么要录视频或者发文章给别人讲解呢? 我也讲道理哈

本文标题:十四、Elasticsearch的document的id自动与手

本文链接:https://www.haomeiwen.com/subject/clcxhxtx.html