1. 입력 (PUT)
도큐먼트를 입력하는 경우, PUT 매소드를 사용합니다.
mydoc 이라는 인덱스에 ID가 1인 도큐먼트를 입력하려면 아래와 같이 작성합니다.
PUT mydoc/_doc/1
{
"title":"안녕하세요",
"message":"반갑습니다."
}
이전에 ID가 1인 도큐먼트가 없다면 response상에서 result는 created를 반환합니다.
이때 다시 동일한 입력을 한다면 ID가 1에 해당하는 도큐먼트가 mydoc인덱스에 존재하기 때문에
response상에서 result는 updated를 반환하고 덮어쓰기 됩니다.
덮어쓰기를 방지하기위해 _doc 대신 _create를 사용해야 합니다.
PUT mydoc/_create/1
{
"title":"안녕하세요",
"message":"반갑습니다."
}
이때 이미 존재하는 도큐먼트가 있으면 response상에서 error를 반환합니다.
2. 조회 (GET)
도큐먼트를 조회하는 경우, GET 매소드를 사용합니다.
아래는 mydoc 인덱스에 ID가 1인 도큐먼트를 검색합니다.
GET mydoc/_doc/1
mydoc 인덱스의 모든 도큐먼트를 조회하고자 하면 _search를 입력합니다.
아래는 mydoc 인덱스에 모든 도큐먼트를 검색합니다.
GET mydoc/_search
데이터 본문 검색으로 title 필드값이 '안녕하세요'인 도큐먼트를 검색하고 싶다면 match 쿼리를 사용합니다.
아래는 mydoc 인덱스에 title 필드값이 '안녕하세요'인 도큐먼트를 검색합니다.
GET mydoc/_search
{
"query": {
"match": {
"title": "안녕하세요"
}
}
}
3. 삭제 (DELETE)
도큐먼트를 삭제하는 경우, DELETE 매소드를 사용합니다.
아래는 mydoc 인덱스에 ID가 1인 도큐먼트를 삭제합니다.
DELETE mydoc/_doc/1
아래는 mydoc 인덱스를 삭제합니다.
DELETE mydoc
4. 수정 (POST)
도큐먼트를 수정하는 경우, POST 매소드를 사용합니다.
아래는 mydoc 인덱스에 ID가 1인 도큐먼트의 값을 수정합니다.
POST mydoc/_doc/1
{
"title":"안녕하세요",
"message":"첫번째수정"
}
하지만 위와 같이 수정하면 도큐먼트의 모든 필드를 작성해야 합니다.
이때, _update를 사용하면 원하는 필드만 수정이 가능합니다.
아래는 mydoc 인덱스에 ID가 1인 도큐먼트의 message 값을 수정합니다.
POST mydoc/_upDate/1
{
"message": "두번째수정"
}
'개발 > ELK' 카테고리의 다른 글
Elasticsearch 기본 (0) | 2023.05.17 |
---|---|
[Logstash] 로그스태시 파이프라인, 필터 (1) | 2023.04.11 |
[Elasticsearch] 집계 쿼리 (0) | 2023.04.10 |
[Elasticsearch] 검색 쿼리 (1) | 2023.04.07 |
[Elasticsearch] 벌크 데이터 bulk API (0) | 2023.03.27 |
댓글