ElasticSearch15:bulk批量增刪改
1.語法
POST /bulk{"delete":{"_index":"test_index","_type":"test_type","_id":9}}
{"create":{"_index":"test_index","_type":"test_type","_id":11}}
{"test_field":"test201712291140"}
{"index":{"_index":"test_index","_type":"test_type","_id":11}}
{"test_field":"test201712291141 replaced"}
{"update":{"_index":"test_index","_type":"test_type","_id":8,"_retry_on_conflict":3}}
{"doc":{"test_field2":"xxx00000000"}}
每一個操作有兩個json串:(除了delete操作)
{“action”:{"metadata"}
{"data"}
舉例,建立文件
{"index":{"_index":"test_index","_type":"test_type","_id":11}
{"test_field":"test","test_field2":"test2"}
操作型別
delete 刪除一個文件操作,只要一個json串即可
update 執行partial update操作
create put /index/type/id/_create,強制建立操作
index 普通的put操作,可以是建立文件,也可以是全量替換
bulk api對json 的語法有嚴格的要求
POST /_bulk
{
"delete":{
"_index":"test_index",
"_type":"test_type",
"_id":11
}
}
上面的bulk api語法有誤,報錯:
{
"error": {
"root_cause": [
{
"type": "json_e_o_f_exception",
"reason": "Unexpected end-of-input: expected close marker for Object (start marker at [Source:
}
],
"type": "json_e_o_f_exception",
"reason": "Unexpected end-of-input: expected close marker for Object (start marker at [Source: [email protected]; line: 1, column: 1])\n at [Source: [email protected];
line: 1, column: 3]"
},
"status": 500
}
2.例子
POST /_bulk
{"delete":{"_index":"test_index","_type":"test_type","_id":9}}
{"create":{"_index":"test_index","_type":"test_type","_id":11}}
{"test_field":"test201712291140"}
{"index":{"_index":"test_index","_type":"test_type","_id":11}}
{"test_field":"test201712291141 replaced"}
{"update":{"_index":"test_index","_type":"test_type","_id":8,"_retry_on_conflict":3}}
{"doc":{"test_field2":"xxx00000000"}}
執行結果
#! Deprecation: Deprecated field [_retry_on_conflict] used, expected [retry_on_conflict] instead
{
"took": 32,
"errors": false,
"items": [
{
"delete": {
"_index": "test_index",
"_type": "test_type",
"_id": "9",
"_version": 1,
"result": "not_found",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 13,
"_primary_term": 4,
"status": 404
}
},
{
"create": {
"_index": "test_index",
"_type": "test_type",
"_id": "11",
"_version": 6,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 7,
"_primary_term": 4,
"status": 201
}
},
{
"index": {
"_index": "test_index",
"_type": "test_type",
"_id": "11",
"_version": 7,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 8,
"_primary_term": 4,
"status": 200
}
},
{
"update": {
"_index": "test_index",
"_type": "test_type",
"_id": "8",
"_version": 3,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 14,
"_primary_term": 4,
"status": 200
}
}
]
}
查詢每個操作的結果:
GET /test_index/test_type/10
{
"_index": "test_index",
"_type": "test_type",
"_id": "9",
"found": false
}
GET /test_index/test_type/11
{
"_index": "test_index",
"_type": "test_type",
"_id": "11",
"_version": 7,
"found": true,
"_source": {
"test_field": "test201712291141 replaced"
}
}
GET /test_index/test_type/8
{
"_index": "test_index",
"_type": "test_type",
"_id": "8",
"_version": 3,
"found": true,
"_source": {
"test_field": "xxx81",
"test_field2": "xxx00000000"
}
}
相關推薦
ElasticSearch15:bulk批量增刪改
1.語法 POST /bulk {"delete":{"_index":"test_index","_type":"test_type","_id":9}} {"create":{"_index":"test_index","_type":"test_type","_id
ES:mget批量查詢、bulk批量增刪改
1、mget批量查詢 GET /_mget { "docs": [ { "_index": "test_index", "_type": "test_type", "_id": 8 }, { "_index":
ElasticSearch最佳入門實踐(二十六)bulk批量增刪改
1、bulk語法 POST /_bulk { “delete”: { “_index”: “test_index”, “_type”: “test_type”, “_id”: “3” }} { “create”: { “_index”: “test_index”, “_typ
bulk批量增刪改
1.bulk語法格式: 注意: bulk api對json的語法,有嚴格的要求,每個json串不能換行,只能放在一行,多個型別的json串之間,必須換行 POST /_bulk {"delete":{"索引名稱":"索引值","型別名稱":"型別值","id名稱":id值}} {
Elasticsearch學習筆記(十)批量查詢mget、批量增刪改bulk
出錯 color body 換行 nor test 增刪 doc document 一、批量查詢 mget GET /_mget { "docs":[ { "_index":"ecommerce
Oracle 的 bulk collect用法——批量增刪改
FORALL語句的一個關鍵性改進,它可大大簡化程式碼,並且對於那些要在PL/SQL程式中更新很多行資料的程式來說,它可顯著提高其效能。 1: 用FORALL來增強DML的處理能力 Oracle為Oracle8i中的PL/SQL引入了兩個新的資料操縱語言(DML)語句:B
Jquery easyui 批量處理datagrid的資料,批量增刪改
Jquery easyui datagrid控制可以獲取受影響的行,從上一次的提交獲取改變的所有行。型別引數指明用哪些型別改變的行,可以使用的值有:inserted,deleted,updated等。當型別引數未配置的時候返回所有改變的行。將改變行傳到服務端,通過引數分別做批
java使用JDBC連線mysql並且進行批量增刪改操作
在處理百萬級的資料時,經常需要對資料庫中的資料進行增刪改查操作,由於資料量大,進行Query的時候在效率上還是可以接受,但進行增刪改的時候,如果採用一次一條記錄操作,則效率大大的降低,因此,需要進行批量操作。 本文利用java在eclipse環境
hibernate系列十五:hql連線查詢,查詢效能優化,hql批量增刪改
一 hql連線查詢 和SQL查詢一樣,HQL也支援各種各樣的連線查詢,如內連線、外連線。我們知道在SQL中可通過join子句實現多表之間的連線查詢。HQL同樣提供了連線查詢機制,還允許顯式指定迫切內連線和迫切左外連線。HQL提供的連線方式如表1所示。 連線型別 HQL語法
第八篇 elasticsearch的批量增刪改查
1. 批量查詢 1.1 mget查詢的語法 GET /_mget { "docs" : [ { "_index" : "test_index", "_type" : "test_type",
mysql 批量增刪改查
style into span val update 能夠 ont 批量增刪 upd mysql增刪改查很簡單,但是我們在寫代碼的時候,一定要註意,代碼的優化,減少操作數據庫的次數,能夠批量的解決的,就不要重復調用數據庫了。 1.批量查,刪 利用in 查詢 2.批量
AngularJs 增刪改查+刪除+批量刪除+全反選
<head> <meta charset="utf-8" /> <script src="js/angular.min.js" type="text/javascript" charset="utf-8"></s
mybatis中實現批量的增刪改
//批量插入 public void batchInsert(List<UserDo> list) { this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
jquery的資料增刪改查(全選,反選,全不選,批量刪除,新增資訊)
效果圖如下: html程式碼如下: <body> <div class="btn"> <button class="seleAll">全選</button> <button class="allDe
Order訂單的多表增刪改查及基於Msql和SSM的分頁程式碼附帶批量刪除
首先需要一個分頁工具類(Page),和實體類(Order),中間內容基本不需要改動,您可以根據需要改動每頁顯示的記錄條數。 Page類 package cn.kgc.util; import java.io.Serializable; /** * Crea
easyui datagrid 增刪改查分頁 匯出 先上傳後匯入 NPOI批量匯入 匯出EXCEL
效果圖資料庫程式碼 create database CardManage use CardManage create table CardManage ( ID int identity(1,1) primary key, userDep nvarchar(10)n
Spring+SpringMVC+Mybatis實現增刪改查--(六)SSM刪除、批量刪除員工的實現
Spring+SpringMVC+Mybatis實現增刪改查--(六)SSM刪除、批量刪除員工的實現單個刪除: 批量刪除 刪除邏輯1.單個刪除URI:/emp/{id} DELETE(1)給刪除按鈕繫結上員工的ID號(2)單個刪除按鈕的點選事件(3)員工刪除的方法2.全選複
利用jQueryEasyUI批量對資料的增刪改功能
對於Easyui相信大家都不陌生,但是對於資料的增刪改查大家都是單行操作,如果有多行資料需要 進行增加,刪除,更新操作你們會選擇怎麼做的,比如對於這種情況。 ,估計一時半會還是有一部分童鞋想不出解決,這裡給大家提個醒,我們可以給每一行資料新增一個複選框。 e
Spring框架開發實現對商品列表的增刪改查以及批量刪除和批量修改
花了一週時間重新熟悉了一下SSM三大框架,也經歷了一次由複雜及簡單的過程,從剛開始的使用Mybatis操作資料就可以比較其和JDBC的不同,相應的java程式碼減少了,但是相對的配置檔案的內容越來越多,程式碼以後的維護性也得到了越來越高的提升。後面使用SpringMVC後,
TP5學習基礎一:增刪改查小demo
表單 arr 處理 php req 學習 model類 浪費 新手 ①TP5--增刪改查簡單的demo 我先吐槽一下:因為工作需要研究tp5,去官網看了一下哎呦,資源挺多挺全啊!然後下載唯一免費的官方教程,我曹pdf打開533頁。講的很細但是開發能等看完才做嗎?看到精簡版快