1粱坤、手動(dòng)指定document id
2窍帝、自動(dòng)生成document id
------------------------------------------------------------------------------------------------------------
1贰拿、手動(dòng)指定document id
(1)根據(jù)應(yīng)用情況來(lái)說(shuō)壁酬,是否滿足手動(dòng)指定document id的前提:
一般來(lái)說(shuō)厅篓,是從某些其他的系統(tǒng)中该贾,導(dǎo)入一些數(shù)據(jù)到es時(shí)琼梆,會(huì)采取這種方式性誉,就是使用系統(tǒng)中已有數(shù)據(jù)的唯一標(biāo)識(shí),作為es中document的id叮叹。舉個(gè)例子艾栋,比如說(shuō),我們現(xiàn)在在開(kāi)發(fā)一個(gè)電商網(wǎng)站蛉顽,做搜索功能蝗砾,或者是OA系統(tǒng),做員工檢索功能。這個(gè)時(shí)候悼粮,數(shù)據(jù)首先會(huì)在網(wǎng)站系統(tǒng)或者IT系統(tǒng)內(nèi)部的數(shù)據(jù)庫(kù)中闲勺,會(huì)先有一份,此時(shí)就肯定會(huì)有一個(gè)數(shù)據(jù)庫(kù)的primary key(自增長(zhǎng)扣猫,UUID菜循,或者是業(yè)務(wù)編號(hào))。如果將數(shù)據(jù)導(dǎo)入到es中申尤,此時(shí)就比較適合采用數(shù)據(jù)在數(shù)據(jù)庫(kù)中已有的primary key癌幕。
如果說(shuō),我們是在做一個(gè)系統(tǒng)昧穿,這個(gè)系統(tǒng)主要的數(shù)據(jù)存儲(chǔ)就是es一種勺远,也就是說(shuō),數(shù)據(jù)產(chǎn)生出來(lái)以后时鸵,可能就沒(méi)有id胶逢,直接就放es一個(gè)存儲(chǔ),那么這個(gè)時(shí)候饰潜,可能就不太適合說(shuō)手動(dòng)指定document id的形式了初坠,因?yàn)槟阋膊恢纈d應(yīng)該是什么,此時(shí)可以采取下面要講解的讓es自動(dòng)生成id的方式彭雾。
(2)put /index/type/id
PUT /test_index/test_type/2
{
? "test_content": "my test"
}
2碟刺、自動(dòng)生成document id
(1)post /index/type
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
}
(2)自動(dòng)生成的id,長(zhǎng)度為20個(gè)字符冠跷,URL安全南誊,base64編碼身诺,GUID蜜托,分布式系統(tǒng)并行生成時(shí)不可能會(huì)發(fā)生沖突