1、概念:scripting是es支援的一種專門用於複雜場景下支援自定義程式設計的強大的指令碼功能
2、es5.0之後預設語言是painless
3、
1 #語法:ctx._source.ctx可以理解為上下文2 #將doc為2資料的price屬性-1
3 post product/_update/2 修改屬性要使用post請求
48 }
get product/_doc/2
新增:
1#將id為6資料的tags屬性新增無線充電標籤
2 post product/_update/6
38 }
刪除:
#將id為11的資料刪除post product/_update/11
}
upsert:
1#upsert 當需要修的資料存在時執行update操作,當資料不存在時執行insert操作
2 post product/_update/153,
8"upsert":
13 }
select:
1 get product/_search29}10}11 }
1 post product/_update/126 ctx._source.tags.add(params
.tag_name);
7 ctx._source.price-=100
8""",9
"params":
12}13 }
#統計所有**小於1000的商品的tag的數量不考慮重複的情況
1 get product/_search210}11}12
}13},14
"aggs":
23return
total;
24"""25}
26}27}
28}29 }
複雜案例:
1資料2 put test_index/_bulk?refresh
3 }4 ,,,]}
5 }6 ,,,]}
7 }8 ,,,]}
統計男性嫌疑人的數量
1 get test_index/_search214}15return
total;
16"""17}
18}19}
20}21 }
注意:doc['field'].value和params['_source']['field']的區別
doc['field'].value只能用於簡單型別不適用於複雜型別,如nested
而params['_source']['field']適用於複雜型別
指令碼語言 shell指令碼
指令碼語言的特徵 指令碼語言 於批處理命令語言,但更接近於程式語言。與批處理命令語言的差別是,指令碼語言有變數和豐富的控制語句 與一般程式語言的差別是 指令碼語言變數的值主要是字串,語言的基本單位是命令 而程式語言變數主要是數值,語言的基本單位是表示式 指令碼語言一般是解釋執行的,速度低,但開發成本...
使用指令碼語言
dim myvar myvar hello world myvar 在這個例子中,option explicit語句強制所有的變數必須專門宣告。dim語句宣告了變數myvar。如果在使用變數前沒有宣告變數,vbscript就會給出執行時錯誤資訊 variable is undefined myvar...
shell指令碼語言
現在流行的指令碼語言有很多,例如php perl python shell等等,這些指令碼語言都有自己的牛x的地方。shell指令碼語言在unix linux系統上用途廣泛,它的優勢在於處理作業系統底層的業務,它利用大量的命令和函式來實現強大的功能,例如一鍵安裝 報警等等。1 在編寫指令碼語言的時候...