2017-03-28 2 views
1

지정된 인덱스/유형에서 여러 레코드를 삭제해야합니다. 내가 같은 문제elasticsearch의 특정 인덱스에서 여러 데이터를 삭제하는 방법

이 STIL 난 내가

No handler found for uri [/g_visitor/gvisitor] and method [DELETE] 

다음에 따라

curl -XDELETE http://10.1.2.10:9200/g_visitor/gvisitor 

는 던져 오류가 아래의 명령 아래의 사항을 지켜, 나는 g_visitor 지수 gvisitor 유형에있는 모든 문서를 삭제하기 위해 필요한이 document에 따라 검색어로 삭제 플러그인을 삭제하고 문서를 삭제하려고 시도합니다. ,

curl -XDELETE 'http://10.1.2.10:9200/g_visitor/gvisitor/_delete_by_query?conflicts=proceed' -d '{ 
    "query" : { 
     "match_all" : {} 
    } 
}' 

그것의 오류 아래로 던져 :

{ 
    "found":false, 
    "_index":"g_visitor", 
    "_type":"gvisitor", 
    "_id":"_delete_by_query", 
    "_version":1, 
    "_shards":{ 
     "total":2, 
     "successful":1, 
     "failed":0 
    } 
    } 

Suggeset 나, 어떻게 elasticsearch에서 인덱스의 특정 유형의 여러 또는 모든 문서를 삭제할 수 있습니다.

답변

2

매핑 유형을 삭제할 수 없으므로 첫 번째 쿼리가 작동하지 않습니다.

당신이, 당신이 그렇게 할 수있는 삭제별로 쿼리 접근 방식을 사용하려는 경우에만 인덱스

curl -XDELETE http://10.1.2.10:9200/g_visitor 

를 삭제할 수 있습니다,하지만 당신은 그런 install the plugin first

sudo bin/plugin install delete-by-query 

을 수행 할 수 있습니다 필요 _query 엔드 포인트 호출하여이 같은 플러그인을 사용 (하지 _delete_by_query를!) :

curl -XDELETE 'http://10.1.2.10:9200/g_visitor/gvisitor/_query?conflicts=proceed' -d '{ 
    "query" : { 
     "match_all" : {} 
    } 
}' 
+0

이미'delete-by-query'플러그인을 설치하고 위에서 언급 한 방법으로 삭제하려고 시도합니다. –

+0

URL이 잘못되었습니다. 업데이트 된 답변보기 – Val

+0

예, 지금 모든 레코드를 삭제했습니다. 많은 사람에게 감사합니다. –