Elasticsearch 문서 CRUD
10959 단어 postmancrudelasticsearchsearch
document
라고 하며 index
및 type
내부에 저장됩니다. 따라서 Elasticsearch에서 이 CRUD의 예를 살펴보겠습니다.함께 코딩하기 위한 전제 조건
Elasticsearch 서버를 이미 설정했다고 가정합니다. 그렇지 않은 경우 Docker를 사용하여 설정하는 방법과 Postman 또는 Curl을 사용하여 액세스하는 방법을 살펴볼 수 있습니다. 여기서는 편의를 위해 Postman을 사용하겠습니다.
우리의 색인 및 유형
이 게시물 예제에서는
index
를 store
로, type
를 product
로 정의해 보겠습니다. 따라서 문서 끝점의 기본 URL은 다음과 같습니다. http://localhost:9200/store/product
문서 작성
인덱스를 먼저 생성하지 않고 바로 문서를 생성할 수 있습니다. 문서를 만들려면 URL에
POST
메서드를 사용할 수 있습니다.http://localhost:9200/store/product
원시 본문 요청:
{
"name": "{{$randomProductName}}",
"slug": "{{$randomLoremSlug}}",
"description": "{{$randomLoremText}}",
"quantity": {{$randomInt}},
"price": {{$randomPrice}},
"created_at": "{{$randomDatePast}}"
}
문서를 성공적으로 만들면 응답은 다음과 같습니다.
{
"_index": "store",
"_type": "product",
"_id": "Lt9tsXQBeCj-V4WaE80C",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
생성된 문서의
Lt9tsXQBeCj-V4WaE80C
값으로 _id
를 얻었습니다. 아래의 READ에 이 ID를 사용합니다.문서 읽기
생성된 문서를 가져오기 위해
_id
값을 사용할 수 있습니다. GET
방법을 사용하면 내 URL은 다음과 같습니다.http://localhost:9200/store/product/Lt9tsXQBeCj-V4WaE80C
응답은 다음과 같습니다.
{
"_index": "store",
"_type": "product",
"_id": "Lt9tsXQBeCj-V4WaE80C",
"_version": 1,
"_seq_no": 1,
"_primary_term": 1,
"found": true,
"_source": {
"name": "Practical Steel Salad",
"slug": "dolorem-et-ut",
"description": "Quia ullam fugit ut sit repudiandae repellat porro dolor. Quis quia autem ea assumenda esse quia enim. Enim expedita ut ex inventore facilis unde dolorem. Qui aut officiis facilis aperiam voluptas dolore.",
"quantity": 795,
"price": 635.76,
"created_at": "Tue Dec 31 2019 11:26:23 GMT+0700 (Western Indonesia Time)"
}
}
업데이트 문서
여기서 문서 업데이트에는 부분 업데이트 또는 재정의 업데이트의 두 가지 유형이 있습니다. 단일 또는 다중 필드를 업데이트하는 데 사용되는 부분 업데이트입니다. 이 예에서는 이름만 업데이트하거나 가격과 수량만 업데이트할 수 있습니다. 문서 소스 구조를 다르게 변경할 수 있는 경우에도 포함된 필드에 관계없이 전체 문서를 업데이트하는 데 사용되는 업데이트를 재정의합니다.
부분 업데이트
POST
메서드를 사용하여 부분 업데이트를 수행할 수 있으며 URL은 다음과 같습니다.http://localhost:9200/store/_update/Lt9tsXQBeCj-V4WaE80C
본문 요청의 경우 다음과 같이 이름과 슬러그만 업데이트합니다.
{
"doc": {
"name": "{{$randomProductName}}",
"slug": "{{$randomLoremSlug}}"
}
}
업데이트 재정의
다음 URL과 함께
PUT
메서드를 사용하여 재정의-업데이트를 수행할 수 있습니다.http://localhost:9200/store/product/Lt9tsXQBeCj-V4WaE80C
요청 본문에는 이름과 새 필드
sold
만 포함됩니다.{
"name": "{{$randomFullName}}",
"sold": true
}
이전 READ 문서를 사용하여 업데이트 변경 사항을 모두 확인할 수 있습니다.
문서 삭제
URL에
DELETE
메소드 사용:http://localhost:9200/store/product/Lt9tsXQBeCj-V4WaE80C
문서가 없어졌을 것입니다. READ 문서를 사용하여 확인할 수 있습니다.
Elasticsearch를 재미있게 탐색해 보세요.
versions used:
- elasticsearch: 7.9.1
- postman: v7.32.0
Reference
이 문제에 관하여(Elasticsearch 문서 CRUD), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dendihandian/elasticsearch-document-crud-hcp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)