DrawingProcess
드프 DrawingProcess
DrawingProcess
전체 방문자
오늘
어제
«   2025/06   »
일 월 화 수 목 금 토
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
  • 분류 전체보기 (968) N
    • Profile & Branding (25)
      • Career (18)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (98) N
      • Book (67) N
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • 인생을 살면서 (64)
      • 나의 취미들 (7)
      • 나의 생각들 (42)
      • 여행을 떠나자~ (10)
      • 분기별 회고 (5)

개발자 명언

“ 매주 목요일마다 당신이 항상 하던대로 신발끈을 묶으면 신발이 폭발한다고 생각해보라.
컴퓨터를 사용할 때는 이런 일이 항상 일어나는데도 아무도 불평할 생각을 안 한다. ”

- Jef Raskin

맥의 아버지 - 애플컴퓨터의 매킨토시 프로젝트를 주도

인기 글

최근 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
DrawingProcess

드프 DrawingProcess

[Elastic] Elasticsearch 구문 검색(_bulk API): 여러 명령을 배치로 수행하자
Study: DeveloperTools(DevTool)/DevTool: NoSQL(Elastic, Mongo)

[Elastic] Elasticsearch 구문 검색(_bulk API): 여러 명령을 배치로 수행하자

2022. 7. 27. 09:37
반응형

Elasticsearch _bulk API

_bulk API 란?

  •  여러 명령을 배치로 수행하기 위해서 _bulk API의 사용이 가능합니다. 
  • _bulk API로 index, create, update, delete의 동작이 가능하며 delete를 제외하고는 명령문(메타정보)과 데이터문(요청데이터)을 한 줄씩 순서대로 입해야 합니다. delete는 내용 입력이 필요 없기 때문에 명령문만 있습니다.
_bulk 의 명령문과 데이터문은 반드시 한 줄 안에 입력이 되어야 하며 줄바꿈을 허용하지 않습니다.

_bulk API를 사용해야하는 이유

  • 벌크 동작은 따로따로 수행하는 것 보다 속도가 훨씬 빠릅니다.
  • 특히 대량의 데이터를 입력 할 때는 반드시 _bulk API를 사용해야 불필요한 오버헤드가 없습니다.
  • Logstash 와 Beats 그리고 Elastic 웹페이지에서 제공하는 대부분의 언어별 클라이언트에서는 데이터를 입력할 때 _bulk를 사용하도록 개발되어 있습니다.

_bulk API 예제

다음은 _bulk 명령을 실행한 예제입니다. 각 명령의 결과가 items에 배열로 리턴됩니다.

모든 명령이 동일한 인덱스에서 수행되는 경우에는 아래와 같이 <인덱스명>/_bulk 형식으로도 사용이 가능합니다.
인덱스 단위로 _bulk 사용

파일에 저장 내용 실행

주의!!: Elasticsearch 에는 커밋이나 롤백 등의 트랜잭션 개념이 없습니다. _bulk 작업 중 연결이 끊어지거나 시스템이 다운되는 등의 이유로 동작이 중단 된 경우에는 어느 동작까지 실행되었는지 확인이 불가능합니다. 보통 이런 경우 전체 인덱스를 삭제하고 처음부터 다시 하는 것이 안전합니다. 또한 연결이 끊길 수 있으니 파일에 벌크 명령을 저장하고 사용하는 것도 추천합니다.
  • 벌크 명령을 파일로 저장하고 curl 명령으로 실행시킬 수 있습니다.
  • 저장한 명령 파일을 --data-binary 로 지정하면 저장된 파일로 부터 입력할 명령과 데이터를 읽어올 수 있습니다.
  • 다음 내용을 bulk.json 이라는 이름의 파일로 저장한 후, 명령으로 bulk.json 파일에 있는 내용들을 _bulk 명령으로 실행 가능합니다. 파일 이름 앞에는 @문자를 입력합니다.

 

참고

  • 순천향대학교 교육자료: http://cs.sch.ac.kr/lecture/BigData/2017/03-ElasticSearch-Introduction.pdf
  • [Elastic 가이드북] 4.3 벌크 API - _bulk API: https://esbook.kimjmin.net/04-data/4.3-_bulk
  • [Elastic 가이드북] _bulk API: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html 
  • [Elastic 가이드북] 4.3 검색 API - _search API: https://esbook.kimjmin.net/04-data/4.4-_search
반응형
저작자표시 비영리 변경금지 (새창열림)

'Study: DeveloperTools(DevTool) > DevTool: NoSQL(Elastic, Mongo)' 카테고리의 다른 글

[Elastic] Elasticsearch 구문 검색: 원하는 데이터를 삭제하자  (0) 2022.08.03
[Elastic] Elasticsearch 구문 검색(_search API): 대용량 데이터를 검색하자 (feat. scroll)  (0) 2022.08.02
[Elastic] Elasticsearch 구문 검색(_search API): 원하는 내용을 검색하자 (feat. dev tool(Kivana))  (0) 2022.08.02
[Elastic] Elasticsearch 구문 검색: 'SQL Query' to 'Query DSL'  (0) 2022.08.02
[Elastic] Elasticsearch CRUD 정리: 데이터 다루기  (0) 2022.07.27
    'Study: DeveloperTools(DevTool)/DevTool: NoSQL(Elastic, Mongo)' 카테고리의 다른 글
    • [Elastic] Elasticsearch 구문 검색(_search API): 대용량 데이터를 검색하자 (feat. scroll)
    • [Elastic] Elasticsearch 구문 검색(_search API): 원하는 내용을 검색하자 (feat. dev tool(Kivana))
    • [Elastic] Elasticsearch 구문 검색: 'SQL Query' to 'Query DSL'
    • [Elastic] Elasticsearch CRUD 정리: 데이터 다루기
    DrawingProcess
    DrawingProcess
    과정을 그리자!

    티스토리툴바