섹션 7에서 계속
5. 문서 및 색인 삭제
유형 삭제 | 방법 또는 경로 매개 변수 |
---|---|
문서 삭제 | 고객 / 외부 / 1 삭제 |
색인 삭제 | 고객 삭제 |
5.1, 문서 삭제
삭제 방법을 사용하여 우편 배달부 http://192.168.56.10:9200/customer/external/1
요청 을 보내면 결과를 볼 수 있으며 삭제 된 문서를 볼 수 있습니다. 성공 :
재전송 요청 (404) not_found
은 결과 의 상태를 반환합니다 .
방금 삭제 된 문서를 쿼리하면 "found": false
404 상태 결과 가 반환됩니다 .
5.2, 인덱스 삭제
delete 메소드를 사용하여 http://192.168.56.10:9200/customer
요청에 우체부를 보내면 결과를 볼 수 있으며 색인이 성공적으로 삭제되었음을 알 수 있습니다.
재전송 요청 (404) index_not_found_exception
은 결과 의 상태를 반환합니다 .
방금 삭제 된 색인을 쿼리하면 no such index [customer]
404 상태 결과 가 반환됩니다 .
따라서 문제는
文档
합계 를 삭제할 수 있으므로 삭제할索引
수类型
있습니까?ES에서는 인덱스 아래에 많은 유형이 있지만 ES는 유형을 삭제하는 방법을 제공하지 않으며 인덱스가 삭제되면 모든 유형이 삭제됩니다.
6. 벌크 API
운영 | 매개 변수 |
---|---|
POST 고객 / 외부 / _ 대량 |
{ "index"{ "_id": "1"} { "name": "John Nash"} { "index": "_ id"2 "} {"name ":"Jane Nash "} |
문법 형식 | {action : {metadata}} \ n {request body} \ n {action : {metadata}} \ n {request body} \ n |
복잡한 인스턴스 POST / _bulk |
{ "delete": { "_ index": "website", "_ type": "blog", "_ id": "123"}} { "create": { "_ index": "website", "_ type": " blog ","_ id ":"123 "}} {"title ":"My first blog post "} {"index ": {"_ index ":"website ","_ type ":"blog "}} {"title ”:“My second blog post”} {“update”: { "_ index":“website”, "_ type":“blog”, "_ id":“123”}} {“doc”: {“title”: “내 업데이트 된 블로그 게시물”}} |
대량 API를 사용하려면 kibana에서 작업을 수행해야합니다. 우편 배달부에서 오류를 요청하면 오류가보고됩니다.
우선 요청 본문의 데이터가 더 이상 json 형식이 아닙니다. 텍스트 형식을 사용하며 다음 오류를보고합니다. :
json으로 변경하고 다시 시도해 보겠습니다.
위의 json 형식이 잘못되었습니다. 수정하고 다시 시도하십시오.
우편 배달부에서 대량 작업을 완료 할 수 없음을 알 수 있으며 이전에 설치된 키바 나에서 작업해야합니다.
키바 나 콘솔을 열고 다음을 선택하십시오 DevTools
.
DevTools
데이터 인터페이스를 클릭 합니다. 데이터 작업을 수행하기 위해 여기에 있습니다.
DevTools
배치 작업을 수행하는 데 사용 합니다. 다음 결과를 참조하십시오.
복잡한 일괄 작업 수행 :
POST /_bulk
{"delete":{"_index":"website","_type":"blog","_id":"123"}}
{"create":{"_index":"website","_type":"blog","_id":"123"}}
{"title":"My first blog post"}
{"index":{"_index":"website","_type":"blog"}}
{"title":"My second blog post"}
{"update":{"_index":"website","_type":"blog","_id":"123"}}
{"doc":{"title":"My updated blog post"}}
/_bulk
특정 인덱스를 지정하지 않고 바로 위에서 사용 하면 ES에서 전역 적으로 실행됨을 의미합니다. 결과는 다음과 같습니다.
대량 API action
는 이 순서대로 모든 (작업)을 실행합니다 .
어떤 이유로 든 단일 작업이 실패하면 이후에 나머지 작업을 계속 처리합니다.
대량 API가 반환되면 각 작업의 상태 (보낸 것과 동일한 순서)를 제공하므로 지정된 작업이 실패했는지 여부를 확인할 수 있습니다.
7. 샘플 테스트 데이터
고객 은행 계좌 정보에 대한 가상의 JSON 문서 샘플을 준비했습니다. 각 문서에는 다음 스키마 (모드)가 있습니다.
개요 |
---|
{ "account_number": 1, "balance": 39225, "firstname": "Amber", "lastname": "Duke", "age": 32, "gender": "M", "address": "880 Holmes Lane ", "고용주 ":"Pyrami ", "email ":"[email protected] ", "city ":"Brogan ", "state ":"IL " }
|
위의 데이터는 github의 ES 공식 문서에서 가로 채 있으며 다음 주소를 방문 할 수 있습니다.
accounts.json 가져 오기 테스트 데이터
ES에서 테스트 데이터 실행
POST bank/account/_bulk
:
github에서 데이터를 복사하기 어려운 경우 다운로드 한 데이터 ( accounts.json )를 사용하거나 gitee-accounts.json을 방문 하세요.
생성 후 http://192.168.56.10:9200/_cat/indices
ES에서 현재 인덱스를 확인하는 데 사용할 수 있습니다. 뱅크가있는 인덱스에 1000 개의 데이터가 있음을 알 수 있습니다.
참고: