06 ES批量操作 Bulk

Bulk API 基本用法

Bulk 是一個(gè)批量導(dǎo)入的接口

POST http://localhost:9200/_bulk

請(qǐng)求體

{ "index":  { "_index": "itest", "_type": "_doc", "_id": "15707" }}
{"jid":15707,"title":"Java開(kāi)發(fā)工程師","salary":{"gte":9000,"lte":15000},"city":"北京","company":"北京威米信科技有限公司","description":"\n        1、參與軟件的架構(gòu)設(shè)計(jì)、流程設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)等工作;2、參與軟件相關(guān)技術(shù)文檔的編寫;3、完成開(kāi)發(fā)框架搭建;4、根據(jù)項(xiàng)目/產(chǎn)品需要,開(kāi)展技術(shù)攻關(guān)工作,確定技術(shù)路線;5、配合項(xiàng)目經(jīng)理完成項(xiàng)目建設(shè)任務(wù)。任職資格:1、本科 以上學(xué)歷,精通Java語(yǔ)言開(kāi)發(fā);2、熟練運(yùn)用主流開(kāi)源框架,如SSH,SpringMVC,MyBatis等;3、熟悉基于Oracle或者M(jìn)ySQL數(shù)據(jù)庫(kù)的設(shè)計(jì)和開(kāi)發(fā),熟悉基于Ehcache,Redis,MongoDB的設(shè)計(jì)和開(kāi)發(fā);4、熟悉微服務(wù)spring boot、spring cloud、dubbo等,對(duì)業(yè)務(wù)中臺(tái)、數(shù)據(jù)中臺(tái)的設(shè)計(jì)思想深入理解;5、熟悉分布式系統(tǒng)的設(shè)計(jì)和應(yīng)用,熟悉分布式、緩存、消息、負(fù)載均衡等機(jī)制和實(shí)現(xiàn);6、具有Vue等前端技術(shù)經(jīng)驗(yàn)者優(yōu)先。7、對(duì)前后端分離,分庫(kù)分表等技術(shù)有實(shí)際操作經(jīng)驗(yàn);8、熟悉docker、kubernetes等。9、熟悉敏捷開(kāi)發(fā)和項(xiàng)目管理經(jīng)驗(yàn)經(jīng)驗(yàn)者;10、熟練使用git,svn。\n                \n                                        職能類別:軟件工程師\n                                            \n        微信分享\n        \n        \n    "}

返回值

  • 第一行說(shuō)明
    index:代表操作類型index-重建索引 , create-創(chuàng)建, delete-刪除
    _index:代表指向索引名
    _type:固定為_(kāi)doc
    _id:要操作的數(shù)據(jù)id
    第二行則是要操作的數(shù)據(jù)
{
    "took": 83, #整個(gè)搜索花費(fèi)了多少毫秒
    "errors": false, #整個(gè)過(guò)程是否包含錯(cuò)誤
    "items": [
        {
            "index": { #每次操作后的結(jié)果
                "_index": "itest",
                "_type": "_doc",
                "_id": "15707",
                "_version": 2,
                "result": "updated",
                "_shards": {
                    "total": 2,
                    "successful": 1,
                    "failed": 0
                },
                "_seq_no": 23,
                "_primary_term": 1,
                "status": 200
            }
        }
    ]
}

refresh參數(shù)說(shuō)明

三種使用形式

  • 默認(rèn),等待所有數(shù)據(jù)導(dǎo)入再刷新索引,即對(duì)查詢暴露

POST http://localhost:9200/_bulk

  • 每發(fā)生一條數(shù)據(jù)變化,立即刷新索引,對(duì)外暴露會(huì)影響性能

POST http://localhost:9200/_bulk?refresh

  • 默認(rèn)每一秒刷新一次索引,將最近一秒產(chǎn)生的數(shù)據(jù)刷新到索引
    可以通過(guò)設(shè)置index.refresh_interval修改刷新間隔

POST http://localhost:9200/_bulk?refresh=wait_for

注意

TIPS: Bulk只可用于小批量數(shù)據(jù)的導(dǎo)入,最大的允許單次請(qǐng)求100M. 如果需要大規(guī)模批量導(dǎo)
入數(shù)據(jù),還需要借助logstash這樣的三方工具.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容