真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

?Elasticsearch如何實(shí)現(xiàn)文檔操作

這篇文章給大家分享的是有關(guān)Elasticsearch如何實(shí)現(xiàn)文檔操作的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

在天鎮(zhèn)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站建設(shè),天鎮(zhèn)網(wǎng)站建設(shè)費(fèi)用合理。

Elasticsearch

回顧

前面的四篇文章我們討論了什么是es,是用來(lái)干什么的,如何進(jìn)行安裝,怎么樣建立索引庫(kù),如何給索引庫(kù)添加mapping映射。本篇我們開(kāi)始討論如何添加文檔,如何修改文檔已經(jīng)如何刪除文檔。

文檔

什么是es文檔,其實(shí)mapping就是es的數(shù)據(jù)字段約束,我們定義好一個(gè)索引,并且定義了一個(gè)mapping映射,就相當(dāng)于我們?cè)陉P(guān)系型數(shù)據(jù)庫(kù)中定義好了這個(gè)表的表結(jié)構(gòu)。也就是我們這個(gè)索引會(huì)用那些列。es中的一個(gè)文檔,其實(shí)就是在mapping約束下的一行數(shù)據(jù)記錄。索引可以認(rèn)為是文檔的優(yōu)化集合,每個(gè)文檔都是字段的集合,這些字段是包含數(shù)據(jù)的鍵值對(duì)。默認(rèn)情況下,Elasticsearch對(duì)每個(gè)字段中的所有數(shù)據(jù)建立索引,并且每個(gè)索引字段都具有專(zhuān)用的優(yōu)化數(shù)據(jù)結(jié)構(gòu)。希望這樣說(shuō)小伙伴們可以理解。

maping映射結(jié)構(gòu)

上篇文章中我們創(chuàng)建了一個(gè)叫做movie的索引,并且創(chuàng)建了該索引的mapping,復(fù)習(xí)一下查詢(xún)索引的命令

curl -X GET "localhost:9200/movie/_mapping?pretty"

可以看到,返回一個(gè)json串,可以清晰的看到我們定義的mapping,這里就不貼出來(lái),不知道的小伙伴可以到上一篇文章中查看。

添加

下面,我們根據(jù)定義的映射,來(lái)添加我們的文檔,特別說(shuō)明:我們后續(xù)針對(duì)es的操作,都會(huì)用一個(gè)工具postman倆操作,目前還不會(huì)的小伙伴們可以自行學(xué)習(xí)一下。

我們都知道,添加文檔用PUT命令,所以需要執(zhí)行如下命令進(jìn)行文檔的添加,具體請(qǐng)看下圖,postman的操作

http://ip:9200/movie/_doc/1

?Elasticsearch如何實(shí)現(xiàn)文檔操作

?

我們將要添加的數(shù)據(jù),以json鍵值對(duì)的方式書(shū)寫(xiě)完成,放在body輸入框中,點(diǎn)擊raw,選擇JSON的格式

_doc作者目前用的es版本為7.8的版本,es7.0以前是支持多類(lèi)型的,但是7.0以后,就將多類(lèi)型移除掉了,默認(rèn)支持_docl類(lèi)型。

?

請(qǐng)求成功成功后會(huì)返回如下內(nèi)容:

{
    "_index": "movie",
    "_type": "_doc",
    "_id": "1",
    "_version": 3,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0    },
    "_seq_no": 2,
    "_primary_term": 2}
?

根據(jù)上面的內(nèi)容,我們可以看到的信息有,這個(gè)文檔是是創(chuàng)建的"result": "created",屬于movie索引的_doc類(lèi)型以及他的版本號(hào)。

?

id自動(dòng)分配

上面的例子,我們添加文檔的時(shí)候,是指定了一個(gè)文檔的id為1,那么我們?nèi)绻恢付?code>id呢?這個(gè)時(shí)候es會(huì)為我們自動(dòng)生成一個(gè)id,請(qǐng)看下面的操作。

?

可以看到讓系統(tǒng)自動(dòng)分配id,用PUT增加文檔的時(shí)候回報(bào)錯(cuò),可以看到,提示用post并非PUT。然后我們換成post進(jìn)行請(qǐng)求,返回結(jié)果如下,可以看到系統(tǒng)為我們分配的id是一個(gè)字符串。

?
{
    "_index": "movie",
    "_type": "_doc",
    "_id": "9XmceHQByHcRbTF_z1TT",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0    },
    "_seq_no": 4,
    "_primary_term": 3}

修改

es的修改,不是真正的修改,它的機(jī)制是將,原有的文檔刪除掉,然后新建一個(gè),并且版本號(hào)加1.那么我們將修改的內(nèi)容如下:

{
    "films" : "八百",
    "name" :"八百",
    "release_area":"中國(guó)",
    "release_time" :"八月二十一",
    "theme":"贊美小人物" 
}

再次使用PUT命令進(jìn)行請(qǐng)求,返回結(jié)果如下:

{
    "_index": "movie",
    "_type": "_doc",
    "_id": "1",
    "_version": 4,
    "result": "updated",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0    },
    "_seq_no": 3,
    "_primary_term": 2}
?

可以看到,這個(gè)時(shí)候"result": "updated",是updated``而不是created的操作,并且版本號(hào)進(jìn)行了累加。

?

刪除

刪除一個(gè)文檔就很簡(jiǎn)單了,直接指定你要?jiǎng)h除的文檔id就可以了,如下:

?Elasticsearch如何實(shí)現(xiàn)文檔操作

查詢(xún)

我們將剛剛刪除的那個(gè)文檔在添加進(jìn)去,下面我們看一下如何查詢(xún)文檔。

查詢(xún)單個(gè)文檔

我們查詢(xún)id為1的文檔,如下:

批量查詢(xún)

批量查詢(xún),我們會(huì)用到一個(gè)_mget的指令,如下:

http://121.36.55.57:9200/_mget

請(qǐng)求體為

{
    "docs":[
        {
            "_index":"movie",
            "_type":"_doc",
            "_id":"1"            
        },
        {
           "_index":"movie",
            "_type":"_doc",
            "_id":"2"  
        }
    ]
}

查詢(xún)結(jié)果

{
    "docs": [
        {
            "_index": "movie",
            "_type": "_doc",
            "_id": "1",
            "_version": 1,
            "_seq_no": 6,
            "_primary_term": 3,
            "found": true,
            "_source": {
                "films": "八百",
                "name": "八百",
                "release_area": "中國(guó)",
                "release_time": "八月二十一",
                "theme": "贊美小人物"            }
        },
        {
            "_index": "movie",
            "_type": "_doc",
            "_id": "2",
            "_version": 1,
            "_seq_no": 7,
            "_primary_term": 3,
            "found": true,
            "_source": {
                "films": "信條",
                "name": "信條",
                "release_area": "美國(guó),英國(guó)",
                "release_time": "九月四日",
                "theme": "時(shí)空逆襲"            }
        }
    ]
}

還可以這些查詢(xún),指定索引,指定類(lèi)型,直接提供id就可以查詢(xún)

http://121.36.55.57:9200/movie/_doc/_mget

請(qǐng)求體如下:也是可以查到的。

{
   "ids":["1","2"]
}

感謝各位的閱讀!關(guān)于“Elasticsearch如何實(shí)現(xiàn)文檔操作”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


分享題目:?Elasticsearch如何實(shí)現(xiàn)文檔操作
標(biāo)題路徑:http://weahome.cn/article/pgephe.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部