elasticsearch delete 方法


       刪除api允許從特定索引通過id刪除json文檔。有兩種方法,一是通過id刪除,二是通過一個Query查詢條件刪除,符合這些條件的數據都會被刪除。


一、通過id刪除

下面的例子是刪除索引名為twitter,類型為tweet,id為1的文檔:

[java]
view plaincopy
DeleteResponse response = client.prepareDelete("twitter",
"tweet", "1")  
        .execute()  
        .actionGet(); 

二、通過Query刪除

下面的例子是刪除索引名為productIndex,title中包含query的所有文檔:


[java] view plaincopy
QueryBuilder query =
QueryBuilders.fieldQuery("title", "query"); 
     
client.prepareDeleteByQuery("productIndex").setQuery(query).execute().actionGet(); 

設置線程
      
當刪除api在同一個節點上執行時(在一個分片中執行一個api會分配到同一個服務器上),刪除api允許執行前設置線程模式(operationThreaded選項),operationThreaded這個選項是使這個操作在另外一個線程中執行,或在一個正在請求的線程(假設這個api仍是異步的)中執行。默認的話operationThreaded會設置成true,這意味着這個操作將在一個不同的線程中執行。下面是設置成false的方法:


[java] view plaincopy
DeleteResponse response =
client.prepareDelete("twitter", "tweet", "1")  
       
.setOperationThreaded(false)  
        .execute()  
       
.actionGet(); 

 

如刪除全部數據,可使用matchAllQuery


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM