主要知識點
1、document的全量替換
2、document的強制建立
3、document的刪除
1、document的全量替換
(1)語法與建立文件是一樣的,如果document id不存在,那麼就是建立;如果document id已經存在,那麼就是全量替換操作,替換document的json串內容,但是 "_version": 的值會改變,原來被替換的內容並沒有被刪除掉,只是被標記為deleted。只有當es的資料越來越多時,es會把標記為deleted的資料進行物理刪除,以釋放空間。
(2)document是不可變的,如果要修改document的內容,第一種方式就是全量替換,直接對document重新建立索引,替換裡面所有的內容
(3)es會將老的document標記為deleted,然後新增我們給定的乙個document,當我們建立越來越多的document的時候,es會在適當的時機在後台自動刪除標記為deleted的document
2、document的強制建立
(1)建立文件與全量替換的語法是一樣的,有時我們只是想新建文件,不想替換文件,如果強制進行建立呢?
(2)put /index/type/id?op_type=create,
put /index/type/id/_create
所建立的文件的id如果已存在就會報錯
"error": {
"root_cause": [
"type": "version_conflict_engine_exception",
"reason": "[text_type][2]: version conflict, document already exists (current version [1])",
"index_uuid": "d5yep9ejtkevac315oxfwa",
"shard": "2",
"index": "test_index"
"type": "version_conflict_engine_exception",
"reason": "[text_type][2]: version conflict, document already exists (current version [1])",
"index_uuid": "d5yep9ejtkevac315oxfwa",
"shard": "2",
"index": "test_index"
"status": 409
3、document的刪除
(1)delete /index/type/id
ES document刪除建立,替換
1.document的全量替換 2.document的強制建立 3.document的刪除 1.document的全量替換 語法與建立文件是一樣的,如果document id不存在,那麼就建立,如果document id存在,那麼就全量替換,替換document中的 json串的內容 2.docum...
sqlalchemy批量刪除資料 全量刪除
問題 sqlalchemy如何批量刪除多條資料 解決 使用引數synchronize session false,或for迴圈 方法 users self.db.query user filter user.id.in 1,2,3 all self.db.delete u for u in user...
HTML DOM的建立,刪除及替換
建立html元素 var newelement document.createelement p 建立新元素p var newtextnode document.createtextnode 文字節點 建立新文字節點 向 元素追加文字節點 var element document.getelemen...