본문 바로가기
▶ Back-End/Server

OpenSearch 기초 예제 - 데이터 추가(_bulk)

by 오늘도 코딩 2024. 5. 20.
728x90
반응형

OpenSearch 기본적인 사용법

*curl 명령어 사용

*HTTPS(SSL/TLS) 적용 후 진행

*자세한 설명 생략

 

 

▷ 기초 예제 - 데이터추가(_bulk)

 

① Index 생성

*아래 관련 글 참고

💡curl -XPUT -ku admin:TestUser2@ "https://localhost:9200/test2" -H "Content-Type: application/json" -d "{\"settings\":{\"number_of_shards\":1,\"number_of_replicas\":0},\"mappings\":{\"properties\":{\"memo\":{\"type\":\"text\"},\"keywords\":{\"type\":\"keyword\"}}}}"

 

② SampleData.json

*_bulk를 위한 json 형식 데이터
*row별 index 지정

    *여기서는 index를 공백으로 두고, curl에서 index를 지정

 

!!가장 마지막 줄에 공백 필요

{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\\n]"}],"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\\n]"},"status":400}

 

- SampleData.json

{"index":{}}
{"memo": "테스트 데이터 입니다. 001", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 002", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 003", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 004", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 005", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 006", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 007", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 008", "keywords": ["테스트"]}
{"index":{}}
{"memo": "테스트 데이터 입니다. 009", "keywords": ["테스트"]}
{"index":{}}
{"memo": "OpenSearch Test Data 입니다. 010", "keywords": ["테스트","OpenSearch"]}
{"index":{}}
{"memo": "OpenSearch Test Data 홍길동", "keywords": ["OpenSearch"]}
{"index":{}}
{"memo": "OpenSearch Test Data 임꺽정", "keywords": ["OpenSearch"]}
{"index":{}}
{"memo": "OpenSearch Test Data 임꺽정 친구 임돌쇠", "keywords": ["OpenSearch"]}
{"index":{}}
{"memo": "OpenSearch Test Data 춘향이", "keywords": ["OpenSearch"]}
{"index":{}}
{"memo": "OpenSearch Test Data 이몽룡", "keywords": ["OpenSearch"]}
{"index":{}}
{"memo": "OpenSearch Test Data 금잔디", "keywords": ["OpenSearch"]}
{"index":{}}
{"memo": "OpenSearch Test Data 금잔디 친구 은잔디", "keywords": ["OpenSearch"]}

 

③ 데이터추가(_bulk)

[옵션 설명]
https://localhost:9200/test2/_bulk
→ test2 Index에 _bulk(여러 문서를 한번에 색인) 요청

--data-binary "@C:\Users\JH\Desktop\SampleData.json
→ --data-binary : binary 형식의 데이터 전송
→ @ : 파일 경로
 
💡curl -XPOST -ku admin:TestUser2@ "https://localhost:9200/test2/_bulk" -H "Content-Type: application/json" --data-binary "@C:\Users\JH\Desktop\SampleData.json"

 

 

▷ 결과 확인

 

*default 10개
💡curl -XGET -ku admin:TestUser2@ "https://localhost:9200/test2?pretty

*5개 조회
💡curl -XGET -ku admin:TestUser2@ "https://localhost:9200/test2/_search?size=5&pretty"

 

 

▷ 관련 글

 

OpenSearch 기초 예제 - Index 생성/삭제

OpenSearch 기본적인 사용법*curl 명령어 사용*HTTPS(SSL/TLS) 적용 후 진행*설치 과정 아래 참고*자세한 설명 생략  ▷ 기초 예제 - Index 생성 ① All Index 조회 [옵션 설명]-k→ SSL 인증서 검증 하지 않음*

coding-today.tistory.com

 

 

728x90
728x90

댓글