티스토리 뷰

ELK 스택/Kibana

Kibana 명령어 (2) - CRUDS

jhyunnn 2022. 11. 7. 09:31

REST API 로 도큐먼트 접근

  • 입력|조회|삭제: PUT|GET|DELETE {_index}/_doc/{_id}
  • 업데이트 : POST {_index}/_update/{_id}
  • 벌크 명령 : POST _bulk

_search API 로 도큐먼트 검색

  • URI 검색 : ?q=...쿼리...
  • 데이터 본문 검색 : {"query" : {...쿼리...}}

 

* Elasticsearch에서는 단일 도큐먼트별로 고유한 URL을 갖습니다. 도큐먼트에 접근하는 URL은

http://<호스트>:<포트>/<인덱스>/_doc/<도큐먼트 id>

구조로 되어 있습니다. 6.x 이 까지는

http://<호스트>:<포트>/<인덱스>/<도큐먼트 타입>/<도큐먼트 id>

구조 였으나, Elasticsearch 7.0 부터는 도큐먼트 타입 개념이 사라지고 대신 고정자 _doc 으로 접근해야 합니다.

다음은 curl 도구를 이용해서 my_index 인덱스에 도큐먼트 id가 1인 데이터를 입력하는 예제입니다.

 

1. PUT 으로 입력(인덱스가 없어도 바로 생성이 됩니다.)

PUT my_index/_doc/1

{

  "name" : "JH",

  "message": "안녕하세요 EL"

}

 

2. GET 으로 조회하기

GET my_index/_doc/1

만약 source 부분만 보고싶다면

GET my_index/_source/1 로 확인이 가능합니다.

 

3. DELETE로 삭제하기

_doc만 삭제

DELETE my_index/_doc/1

 

인덱스 전체 삭제

DELETE my_index

 

 4. PUT 으로 추가하기(수정하기)

PUT my_index/_doc/1

{

  "age" : 40

}

 

위 명령어를 하게되면 이전에 있던 내용을 싹 삭제하고 해당 내용으로 대체함

이걸 조심하셔야합니다.

 

5. POST 로 수정하기 

만약에 id를 지정하기 않으면 자동으로 넣어줍니다.

POST my_index/_doc

{

  "name" : "JH",

  "message" : "안녕하세요 EL"

}

위 명령어를 실행하면 자동으로 adfklamdflka이런식으로 생성이 됩니다.

그러면 GET my_index/_doc/adfklamdflka 로 조회가 가능합니다.

 

이제 수정하는거 해보겠습니다.

POST my_index/_update/1

{

  "doc" : {

      "age" : 40

   }

}

 

6. _bulk 명령어

위 명령으를 날려서

GET test/_doc/<인덱스id>로 확인가능합니다.

 

7. _search API 검색

GET test/_search?q=two

GET test/_search?q=three

GET test/_search?q=field:three AND field:value

이렇게 사용하는건 거의 없구여 보통

 
GET my_index/_search
{
  "query" : {
     "match" : {
        "message" : "안녕하세요"
     }
  }
}

위 쿼리에 대한건 다음 게시글에서 정리하겠습니다.

'ELK 스택 > Kibana' 카테고리의 다른 글

Query DSL : Bool : Should  (0) 2022.11.07
Query DSL : Bool, Range  (0) 2022.11.07
Query DSL : 풀텍스트 (Full Text)  (0) 2022.11.07
Kibana 명령어 (1)  (0) 2022.11.07
Kibana 환경설정  (0) 2022.11.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함