1. 程式人生 > >elasticsearch批量刪除資料

elasticsearch批量刪除資料

    使用es Note for ES2+批量刪除資料,需要安裝delete-by-query外掛,叢集環境只需安裝到一臺Node節點上,安裝方法如下兩種:

   注:delete-by-query外掛的版本,需要與es的版本怎麼對應,否則es會啟動不成功,當es儲存資料的硬碟空間不足85%時,實際不到85%,資料不會再分片,此時去刪除資料是刪除不了

  1、線上安裝

   sudo bin/plugin install delete-by-query

安裝完後需要重啟es服務

#  wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/delete-by-query/2.3.5/delete-by-query-2.3.5.zip

# unzip delete-by-query-2.3.5.zip

# cp -r *  /applications/elasticsearch-2.3.5/

[[email protected] plugins]# ls /applications/elasticsearch-2.3.5/plugins/delete-by-query/
delete-by-query-2.3.5.jar  plugin-descriptor.properties

安裝完外掛後需要重啟es

#統計大於時間的數量
curl -XGET "192.168.1.16:9200/app/_count?pretty" -d "{
    "query":{
        "range":{
            "queryTime":{
                "lte" : "1506493824"
            }
        }
    }
}"

#檢視索相欄位型別

curl -XGET "192.168.1.16:9200/app/_mapping?pretty"

刪除資料指令碼

#!/bin/sh

index_name="app"
deldays="1506502200000"

/usr/bin/curl -XDELETE "192.168.1.16:9200/${index_name}/_query?pretty" -d "
{
    "query":{
    	"filtered": {
    		"filter": {
    			"bool": {
    				"must": {
    					"range":{
					        "queryTime":{
					            "lte":${deldays}
					        }
					    }
    				}
    			}
    		}
    	}
    }
}"  >> esdeldata.log

通過js獲取時間戳

new Date("2017-09-28 15:30:30").getTime();
1506492264000

curl -XDELETE http://localhost:9200/.kibana

通過指令碼批量刪除索引

#!/bin/bash

index=$1

curl -XDELETE http://localhost:9200/${index}-*
if [ $? == 0 ];then
   echo "刪除${index}成功"
fi

相關推薦

elasticsearch批量刪除資料

    使用es Note for ES2+批量刪除資料,需要安裝delete-by-query外掛,叢集環境只需安裝到一臺Node節點上,安裝方法如下兩種:    注:delete-by-query外掛的版本,需要與es的版本怎麼對應,否則es會啟動不成功,當es儲存資料

PHP-ajax批量刪除資料之laravel框架

檢視: @foreach($list as $v) <tr> //在每一條資料的前面加上input框value值是id

簡單的solr在某個時間範圍內批量刪除資料

直接上程式碼 import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj

django中批量刪除資料的方法

class TaskDeleteSelectView(View): def post(self, request): if not request.user.is_authenticated: # 判斷使用者登入狀態 retur

Elasticsearch 批量匯入資料

前言  可以非常方便地進行資料的多維分析,所以大資料分析領域也經常會見到它的身影,生產環境中絕大部分新產生的資料可以通過應用直接匯入,但是歷史或初始資料可能會需要單獨處理,這種情況下可能遇到需要匯入大量資料的情況 這裡簡單分享一下批量匯入資料的操作方法與相關基礎,還有可能

mybatis 批量刪除資料

mybatis批量刪除資料,將需要刪除的資料id存放到list中,將list作為引數傳遞,具體程式碼如下: 1、在mapper層中建立deleteAudioAudioFiles(@Param(“ids”)List ids) 方法,返回刪除的資料條數 packa

JSP頁面實現批量刪除資料

危樓高百尺,手可摘星辰。 不敢高聲語,恐驚天上人。 —李白《夜宿山寺》 首次:FindServlet.java-->bookList.jsp 刪除:bookList.jsp-->DelServlet.java-->FindSe

Elasticsearch教程(八) elasticsearch delete 刪除資料(Java)

Elasticsearch的刪除也是很靈活的,下次我再介紹,DeleteByQuery的方式。今天就先介紹一個根據ID刪除。上程式碼。package com.sojson.core.elasticsearch.manager;import org.elasticsearch.

MySQL批量刪除資料指令碼

#!/usr/bin/python# -*- coding: UTF-8 -*-import osimport MySQLdbimport timedb=MySQLdb.connect(host="172.16.32.11",user="a",passwd="root1123

Mysql批量刪除資料

update renyuan_gongzuojinglibiao shanChuBiaoZhi = 0, when id=#{item.id} then #{item.shanChuShiJian} where id in #{item.id}

PHP頁面批量刪除資料

首先在文章列表頁面(list.php),將多選框命名為:“$del_id[]”,值為文章ID號。 例如(list.php): < form name='del_form' action='d

[樂意黎原創] 自動修改資料夾名的bat程式 批量刪除資料夾名的前10位字元(如“1234456789-資料夾”改為“資料夾”

這個是刪後面 @echo off setlocal enabledelayedexpansion set "wxyz=%*" for %%a in (!wxyz!) do ( set wy=%%~a set xz=%%~na set xz=!xz:~0,-7! if "!x

使用批處理按要求批量刪除資料夾方法彙總

批處理檔案是無格式的文字檔案,它包含一條或多條命令。它的副檔名為.bat或.cmd。在命令提示下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫Cmd.exe按照該檔案中各個命令出現的順序來逐個執行它們。使用批處理檔案可以簡化日常或重複性任務。 示例一: 有這樣一

oracle快速批量刪除資料

需求: 1、有一張客戶表名為Pers,其主鍵為客戶編號persnbr; 2、pers表中的7個列有外來鍵約束; 2、pers表中有10萬條資料是批量生成的(persnbr>=100000000的資料),現在需要把這10萬條資料刪除以便於重新生成。 解決方法: 1、直接

oracle 大批量刪除資料分批commit

一切以程式碼說話,CREATE OR REPLACE PROCEDURE prc_del_big_rec(i_tablename IN VARCHAR2,                                            i_condition IN VA

Oracle中大批量刪除資料的方法

寫一個迴圈刪除的過程。 create or replace procedure delBigTab(p_TableName in varchar2,p_Condition in varchar2,p_Count in varchar2) aspragma autonomous

Oracle中批量刪除資料

在一個ORACLE資料庫執行過程中,有時候會遇到要批量刪除資料的情況,如一個儲存歷史資料的表中有大量的資料已經不需要保留,要將這部分資料刪除。以下就這種情況可以採取的方法進行討論。   1、使用TRUNCATE命令進行刪除。 如果是整個表的資料都要刪除的話,使用TRUN

mysql進階(十五) mysql批量刪除大量資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

SpringMVC複雜資料繫結——繫結陣列實現批量刪除

前幾天學習SSM開發框架遇到了批量刪除的資料繫結問題,就從網上學習了一下,參考別人的部落格又加了點自己的見解寫了這篇部落格。 繫結陣列 在實際開發時,可能會遇到前端請求需要傳遞到後臺多個input的Name屬性相同的資料的情況(如批量刪除),這個情況用SpringMVC的Controller

elasticsearch刪除資料延遲重新整理問題

記錄一次工作中遇到的問題。 後臺管理系統中管理功能將資料儲存到資料庫一份,同時也儲存到ES中一份,然後終端POS從ES中取資料。 這時候問題來了,通過管理功能刪除資料,同步去刪除ES中的資料,然而,資料庫中的資料已被刪除,ES中的資料還在,等1-2分鐘之後ES中資料才消失。這導致終端POS不能顯示最新的資