日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

05.doc_delete操作

發布時間:2024/2/28 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 05.doc_delete操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. Delete API(刪除接口)簡介
    • 2. 并發控制
    • 3. version版本
    • 4. 路由
    • 5. automatic index creation ( 自動創建索引 )
    • 6. 分布式
    • 7. wait for active shards ( 等待活動分片 )
    • 8. refresh刷新
    • 9. timeout 超時

1. Delete API(刪除接口)簡介

delete API允許基于指定的ID來從索引庫中刪除一個JSON文件。下面演示了從一個叫twitter的索引庫的tweet type下刪除文檔,id是1:

$ curl -XDELETE 'http://localhost:9200/twitter/_doc/1' 上述刪除操作的結果是: {"_shards" : {"total" : 2,"failed" : 0,"successful" : 2},"_index" : "twitter","_type" : "_doc","_id" : "1","_version" : 2,"_primary_term": 1,"_seq_no": 5,"result": "deleted" }

2. 并發控制

索引操作可以是有條件來控制的,可以控制僅在文檔的最后一次因為修改分配的_seq_no和_primary_term 參數和請求時傳進來的if_seq_no和if_primary_term參數相等的情況下才能執行操作。如果檢測到不匹配,則該操作將導致VersionConflictException和狀態碼409。有關更多詳細信息,請參見樂觀并發控制。

3. version版本

索引的每個文檔都被標記了版本。當刪除文檔時, 可以通過指定version來確保我們試圖刪除一個文檔時這個文檔是確實存在的,它在此期間并沒有改變。在文檔中執行的每個寫入操作,包括刪除,都會使其版本遞增。

4. 路由

在創建索引文檔時如果使用了控制路由的能力,為了刪除文檔,也應當提供路由值。例如:

DELETE /twitter/_doc/1?routing=kimchy

以上將刪除ID為1的tweet,但會根據用戶路由。請注意,如果刪除路由值不正確,會導致文檔無法刪除。

當映射的_routing被設定為required且沒有指定的路由值時,刪除API將拋出RoutingMissingException并拒絕該請求。

5. automatic index creation ( 自動創建索引 )

如果索引庫之前沒有創建,刪除操作將自動創建一個索引庫(參見創建索引API來手動創建索引),并且如果沒有創建類型時,會根據指定的類型名與動態映射類型來自動創建類型(參見put mapping來手動創建類型映射)。

6. 分布式

刪除操作被散列到一個特定的分片id。然后它被重定向到該ID組內的主分片,和副本分片(如果需要的話)。

7. wait for active shards ( 等待活動分片 )

當進行的刪除請求,你可以設置wait_for_active_shards參數來要求必須最少達到幾個可用的分片才能開始處理刪除請求。進一步的細節和使用示例見這里。

8. refresh刷新

用來控制本次的變化能夠被搜索可見。參見:refresh。

9. timeout 超時

在執行刪除操作時,分配給執行刪除操作的主分片可能無法使用。有些方面的原因可能是主分片正在從倉庫恢復或進行搬遷。默認情況下,刪除操作在返回失敗與錯誤之前將等待1分鐘讓主分片成為可用的。該timeout參數可用于明確指定等待多長時間。這里是將其設置為5分鐘的一個示例:

DELETE /twitter/_doc/1?timeout=5m`

總結

以上是生活随笔為你收集整理的05.doc_delete操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。