Elasticsearch的刪除也是很靈活的,下次我再介紹,DeleteByQuery
的方式。今天就先介紹一個根據ID刪除。上代碼。
package com.sojson.core.elasticsearch.manager;
import org.elasticsearch.action.delete.DeleteResponse;
import com.sojson.common.model.SOBanggKey;
import com.sojson.core.elasticsearch.utils.ESTools;
public class DeleteManager {
/**
* 根據ID刪除
* @param key
* @return
*/
public static int deleteSOBanggByKey(SOBanggKey key) {
//這里可以忽略,組裝一個我業務邏輯的ID
String prefix = "%sx_x%s";
String id = String.format(prefix, key.getId(),key.getGid());
DeleteResponse result = ESTools.client.prepareDelete().setRefresh(true).setIndex(MappingManager.INDEX)
.setType(MappingManager.B_TYPE)
.setId(id)//設置ID
.setRefresh(true)//刷新
.execute().actionGet();
//是否查找並刪除
boolean isfound = result.isFound();
return isfound?1:0;
}
}