[입장부터 실전까지의 ES] 8. 전체 텍스트 검색 -ElasticSearch- 입력-삭제 데이터 및 대량 작업으로 샘플 테스트 데이터 가져 오기

섹션 7에서 계속

5. 문서 및 색인 삭제

유형 삭제 방법 또는 경로 매개 변수
문서 삭제 고객 / 외부 / 1 삭제
색인 삭제 고객 삭제

5.1, 문서 삭제

삭제 방법을 사용하여 우편 배달부 http://192.168.56.10:9200/customer/external/1요청 을 보내면 결과를 볼 수 있으며 삭제 된 문서를 볼 수 있습니다. 성공 :
여기에 사진 설명 삽입

재전송 요청 (404) not_found은 결과 의 상태를 반환합니다 .
여기에 사진 설명 삽입

방금 삭제 된 문서를 쿼리하면 "found": false404 상태 결과 가 반환됩니다 .
여기에 사진 설명 삽입

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/indicesES에서 현재 인덱스를 확인하는 데 사용할 수 있습니다. 뱅크가있는 인덱스에 1000 개의 데이터가 있음을 알 수 있습니다.
여기에 사진 설명 삽입


참고:

Elasticsearch 참조

탄력있는

전체 텍스트 검색 엔진 Elasticsearch 시작하기

추천

출처blog.csdn.net/runewbie/article/details/106315509