2014-02-19 5 views
1

실수로 Logstash의 Elasticsearch에 일부 데이터를로드했습니다.Kibana 생성 쿼리를 사용하여 Elasticsearch에서 삭제할 수 있습니까?

기본적으로 Logstash 설정에 start_position => "beginning"을 포함하는 것을 잊어 버렸습니다. 따라서 .sincedb_*을 삭제하고 다시 실행하면 복제되는 데이터의 일부만 남게됩니다.

나는이 데이터를 볼 수 키바를 사용하고 실행 한 "검사"버튼을 볼 수있는 쿼리를 클릭 한 : 나는 ELS 서버에서이 작업을 실행하면

curl -XGET 'http://els-server:9200/logstash-2014.02.19,logstash-2014.02.18/_search?pretty' -d '{ 
    "facets": { 
    "0": { 
     "date_histogram": { 
     "field": "@timestamp", 
     "interval": "10m" 
     }, 
     "facet_filter": { 
     "fquery": { 
      "query": { 
      "filtered": { 
       "query": { 
       "query_string": { 
        "query": "tags:\"a-tag-that-uniquely-matches-the-mistake\"" 
       } 
       }, 
       "filter": { 
       "bool": { 
        "must": [ 
        { 
         "match_all": {} 
        }, 
        { 
         "range": { 
         "@timestamp": { 
          "from": 1392723206360, 
          "to": "now" 
         } 
         } 
        }, 
        { 
         "bool": { 
         "must": [ 
          { 
          "match_all": {} 
          } 
         ] 
         } 
        } 
        ] 
       } 
       } 
      } 
      } 
     } 
     } 
    } 
    }, 
    "size": 0 
}' 

,이 같은 결과를 찾습니다 (예상대로) 세트 :

{ 
    "took" : 23, 
    "timed_out" : false, 
    "_shards" : { 
    "total" : 10, 
    "successful" : 10, 
    "failed" : 0 
    }, 
    "hits" : { 
    "total" : 558829, 
    "max_score" : 0.0, 
    "hits" : [ ] 
    }, 
    "facets" : { 
    "0" : { 
     "_type" : "date_histogram", 
     "entries" : [ { 
     "time" : 1392799200000, 
     "count" : 91 
     } ] 
    } 
    } 
} 

라인 "count" : 91은 키바에 표시된 이벤트 같은 수의 일치합니다.

이 91 개 항목을 제거하려면 어떻게 삭제 작업으로 전환해야합니까?

감사합니다,

답변

3


KB 당신은 1.0 쿼리에 의해 삭제할 수 있습니다 이상 나는 생각한다.

Click here for ES doco on that API

나는 ES에 대해 수동으로 쿼리를 실행하기 위해 Chrome plugin Sense를 사용합니다.

예 :

대신
DELETE /twitter/_search 
{ 
"query": { 
      "filtered": { 
       "query": { 
       "query_string": { 
        "query": "tags:\"a-tag-that-uniquely-matches-the-mistake\"" 
       } 
       }, 
       "filter": { 
       "bool": { 
        "must": [ 
        { 
         "match_all": {} 
        }, 
        { 
         "range": { 
         "@timestamp": { 
          "from": 1392723206360, 
          "to": "now" 
         } 
         } 
        }, 
        { 
         "bool": { 
         "must": [ 
          { 
          "match_all": {} 
          } 
         ] 
         } 
        } 
        ] 
       } 
       } 
      } 
      } 
} 
+0

사용 "_DELETE/트위터/_QUERY_" "_DELETE/트위터/_search_"

DELETE /twitter/tweet/_query { "query" : { "term" : { "user" : "kimchy" } } } 

귀하의 경우에 당신은 당신의 쿼리의 쿼리 부분을 사용한다 – kayn