Elasticsearch 모든 인덱스 삭제

Elasticsearch Modeun Indegseu Sagje



Elasticsearch는 ELK Stack을 구동하는 무료 오픈 소스 검색 및 분석 엔진입니다. Elasticsearch는 Logstash와 같은 도구를 사용하여 데이터를 수집하고 집계하는 다양한 데이터 파이프라인을 허용합니다. 그런 다음 Elasticsearch는 제공된 데이터를 저장하여 애플리케이션이 거의 실시간으로 많은 양의 데이터에 액세스, 검색, 정렬 및 필터링할 수 있도록 합니다. 또한 Elasticsearch를 사용하면 내장 도구를 사용하여 다양한 데이터를 시각화할 수 있습니다.

이러한 기능 덕분에 Elasticseach는 대기 시간을 최소화하거나 전혀 없이 방대한 양의 데이터를 검색하고 정렬하는 데 매우 적합합니다. 따라서 검색 엔진을 생성하든 로그, 메트릭 및 기타 텍스트 데이터를 분석하든 Elasticsearch는 탁월한 선택입니다.







Elasticsearch의 핵심은 인덱스입니다. 인덱스는 Elasticsearch에서 문서를 저장하는 역할을 하는 단위를 나타냅니다. 인덱스는 관계형 데이터베이스의 컨텍스트에서 데이터베이스와 상대적으로 동일합니다. 예를 들어, 웹 애플리케이션의 로그에 대한 모든 데이터를 보유하는 인덱스를 가질 수 있습니다.



모든 데이터베이스와 마찬가지로 클러스터에서 모든 데이터를 제거해야 하는 시나리오가 발생할 수 있으며 이를 통해 깨끗한 상태로 시작할 수 있습니다.



이 문서에서는 Elasticsearch API 기능을 사용하여 클러스터에서 모든 인덱스를 제거하는 방법을 보여줍니다.





주의: 이 문서에 사용된 방법과 기술은 데이터 손실을 초래할 수 있습니다. 우리는 이 문서의 지침으로 인해 발생할 수 있는 데이터 손실에 대해 책임을 지지 않습니다.

Elasticsearch 삭제 인덱스 API

Elasticsearch를 시작하는 경우 기본 API 호출을 수행하는 방법을 알아야 합니다. Elasticsearch가 API를 최대한 활용하기 때문입니다.



짐작할 수 있듯이 인덱스 삭제 API를 사용하여 클러스터에서 인덱스를 제거합니다. 인덱스 삭제 요청 구문은 다음과 같습니다.

삭제 /< 인덱스 >


요청은 지정된 인덱스와 저장된 문서, 샤드 및 모든 메타데이터를 제거합니다.

이렇게 하면 데이터 보기 등과 같이 지정된 인덱스와 연결된 Kibana 구성 요소가 제거되지 않습니다.

쉼표로 구분하여 단일 또는 여러 인덱스를 지정할 수 있습니다. 예제 구문은 다음과 같습니다.

삭제 / index_name
삭제 / 인덱스1, 인덱스2, 인덱스3... 인덱스N


Elasticsearch는 인덱스를 삭제할 때 인덱스 별칭을 사용하지 못하도록 합니다. 대신 인덱스 이름을 사용해야 합니다.

예 1: Elasticsearch 인덱스 삭제

다음 예제에서는 Elasticsearch 인덱스 삭제 API를 사용하여 클러스터에서 기존 인덱스를 제거하는 방법을 보여줍니다.

곱슬 곱슬하다 -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -시간 'kbn-xsrf: 보고'


이전 요청은 삭제 API에 DELETE 요청을 보냅니다. 이렇게 하면 'kibana_sample_data_logs'라는 이름의 인덱스가 제거됩니다.

결과 출력은 다음과 같습니다.

{
'인정' : 진실
}

예 2: Elasticsearch에서 여러 인덱스 삭제

여러 인덱스를 쉼표로 구분된 목록으로 전달하여 제거할 수 있습니다. 예제 쿼리는 다음과 같습니다.

곱슬 곱슬하다 -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -시간 'kbn-xsrf: 보고'


이전 명령은 지정된 인덱스를 삭제하고 다음과 같은 메시지를 반환합니다.

{
'인정' : 진실
}


참고: 인덱스가 존재하지 않는 경우 Elasticsearch는 다음과 같은 오류를 반환합니다.

예 3: Elasticsearch 모든 인덱스 삭제

인덱스 삭제 API에서 _all 와일드카드를 사용하여 클러스터에서 모든 인덱스를 제거할 수 있습니다. 인덱스 삭제 API는 기본적으로 요청에서 와일드카드를 전달하는 것을 방지합니다.

action.destructive_requires_name을 false로 설정하여 이 기능을 비활성화할 수 있습니다.

다음 쿼리는 인덱스 삭제 API에서 와일드카드 사용을 활성화하는 방법을 보여줍니다.

곱슬 곱슬하다 -XPUT '로컬 호스트:9200 //클러스터/설정' -시간 'kbn-xsrf: 보고' -시간 '콘텐츠 유형: 애플리케이션/json' -디 '
{
'일시적인': {
'action.destructive_requires_name': 거짓
}
}'


참고: Elasticsearch는 임시 클러스터 설정의 사용을 권장하지 않지만 와일드카드를 영구 클러스터 설정으로 사용하는 것과 같은 파괴적인 클러스터 매개변수를 설정하지 마십시오.

이전 쿼리는 결과를 다음과 같이 반환해야 합니다.

{
'인정' : 진실 ,
'지속성 있는' : { } ,
'과도 현상' : {
'동작' : {
'destructive_requires_name' : '거짓'
}
}
}


성공하면 다음 명령을 실행하여 클러스터의 모든 인덱스를 제거할 수 있습니다.

곱슬 곱슬하다 -XDELETE “http://localhost:9200/_all?pretty=true” -시간 'kbn-xsrf: 보고'

예 4: Elasticsearch 특정 이름과 일치하는 모든 인덱스 삭제

특정 패턴과 일치하는 모든 인덱스를 제거하려면 와일드카드 문자(*)를 사용할 수 있습니다.

예를 들어 kibana라는 이름으로 시작하는 모든 인덱스를 제거하려면 다음 쿼리를 실행할 수 있습니다.

곱슬 곱슬하다 -XDELETE “http://localhost:9200/kibana*” -시간 'kbn-xsrf: 보고'


이전 요청은 kibana로 시작하는 모든 인덱스를 제거합니다.

참고: 이전 요청에는 와일드카드를 사용해야 합니다. 따라서 이전 섹션에 표시된 대로 와일드카드 지원을 활성화해야 합니다.

결론

이 가이드에서는 Elasticsearch 인덱스 삭제 API를 사용하는 방법을 배웠습니다. 또한 클러스터에서 와일드카드 지원을 활성화하고 모든 인덱스를 제거하고 특정 패턴과 일치하는 인덱스를 제거하는 방법을 배웠습니다.