1. 程式人生 > 實用技巧 >ElasticSearch6.X版本Java Api中文詳解(三)之Get Api、Delete API 、Delete By Query API解析

ElasticSearch6.X版本Java Api中文詳解(三)之Get Api、Delete API 、Delete By Query API解析

  1. 例如這個導航網站 索引超過幾百萬條資料www.roak.com
  2. Get
  3. Delete
  4. Delete By Query

Get Api

get API允許根據它的id從索引中獲得一個型別化的JSON文件,下面的例子從一個名為twitter的索引中獲得一個JSON文件,在一個名為tweet的型別下,id值為1:

GetResponse response = client.prepareGet("twitter", "tweet", "1").get();

Delete Api

delete API允許一個人根據其id從特定的索引中刪除一個型別化的JSON文件,下面的例子從一個名為twitter的索引中刪除了JSON文件,在一個名為tweet的型別下,id值為1:

DeleteResponse response = client.prepareDelete("twitter", "tweet", "1").get();

Delete By Query

查詢API的delete允許根據查詢的結果刪除給定的一組文件:

  1. BulkByScrollResponse response = DeleteByQueryAction.INSTANCE.newRequestBuilder(client)
  2. .filter(QueryBuilders.matchQuery("gender","male"))
  3. .source("persons")
  4. .get();
  5. long deleted = response.getDeleted();

因為它可以是一個長時間執行的操作,如果您希望非同步地完成它,您可以呼叫execute而不是get並提供一個偵聽器:

  1. DeleteByQueryAction.INSTANCE.newRequestBuilder(client)
  2. .filter(QueryBuilders.matchQuery("gender","male"))
  3. .source("persons")
  4. .execute(new ActionListener<BulkByScrollResponse>() {
  5. @Override
  6. publicvoidonResponse(BulkByScrollResponse response) {
  7. long deleted = response.getDeleted();
  8. }
  9. @Override
  10. publicvoidonFailure(Exception e) {
  11. // Handle the exception
  12. }
  13. });