본문 바로가기
IT/정보

엘라스틱서치 기본 예제 - 인덱스 등록, 삭제, 조회

by bamcong 2025. 3. 29.
728x90
반응형

안녕하세요! 오늘은 많이 사용되는 Elasticsearch의 인덱스 등록, 삭제, 조회에 대해 알아보겠습니다. Elasticsearch는 분산형 검색 엔진으로, 대용량 데이터를 실시간으로 검색하고 분석하는 데 매우 유용합니다. 여러 가지 기능이 있지만, 기본적인 CRUD(Create, Read, Update, Delete) 작업이 매우 중요합니다. 이 포스팅을 통해 실습 예제와 함께 각 과정을 차근차근 알아보도록 하겠습니다.

엘라스틱서치 기본 예제

1. Elasticsearch 기본 구조

Elasticsearch는 JSON 형태로 데이터를 저장합니다. 이 때문에 웹 애플리케이션과 자연스럽게 연동할 수 있는 장점이 있습니다. 데이터는 인덱스에 저장되며, 인덱스는 문서(document)들로 구성됩니다. 마치 도서관에서 책을 저장하는 방식과 유사하다고 할 수 있습니다.

2. Elasticsearch 접속하기

Elasticsearch에 접근하기 위해서는 Postman이나 cURL을 사용할 수 있습니다. 여기서는 cURL을 사용하는 방법을 소개하겠습니다. 먼저 Elasticsearch 서버가 실행 중인지 확인한 후, 아래의 명령어로 접속해보세요.

curl -X GET "localhost:9200/"

결과 예시

{
  "name" : "my-node",
  "cluster_name" : "my-cluster",
  "cluster_uuid" : "ERHVENKJQWUT",
  "version" : {
    "number" : "7.10.1",
    ...
  },
  "tagline" : "You Know, for Search"
}

3. 인덱스 등록

이제 인덱스를 생성하고 데이터를 추가해보겠습니다. 아래 예제는 "test_index"라는 인덱스를 생성하고, 샘플 데이터를 등록하는 방법입니다.

curl -X PUT "localhost:9200/test_index" -H 'Content-Type: application/json' -d'
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "name": { "type": "text" },
      "age": { "type": "integer" }
    }
  }
}'

 

이제 샘플 데이터를 "test_index"에 추가해보겠습니다. 다음 명령어를 통해 데이터를 추가할 수 있습니다.

curl -X POST "localhost:9200/test_index/_doc/1" -H 'Content-Type: application/json' -d'
{
  "name": "John Doe",
  "age": 30
}'

4. 인덱스 조회

등록한 데이터를 조회하는 방법도 간단합니다. 아래의 명령어로 "test_index"의 모든 데이터를 조회해보세요.

curl -X GET "localhost:9200/test_index/_search?pretty"

 

5. 인덱스 삭제

마지막으로 생성한 인덱스를 삭제해보겠습니다. 아래 명령어로 "test_index"를 삭제할 수 있습니다.

curl -X DELETE "localhost:9200/test_index"

 

마무리하며

이상으로 Elasticsearch에서 인덱스 등록, 삭제, 조회하는 기본적인 예제를 마쳤습니다. Elasticsearch는 대량의 데이터를 처리할 수 있는 강력한 도구로, 다양한 활용법이 존재합니다. 데이터의 구조나 인덱스 설정에 따라 더욱 힘있는 검색과 분석이 가능하니, 여러분의 프로젝트에 맞춰 다양한 방법으로 활용해보세요!

더 궁금한 점이 있다면, 엘라스틱서치 공식 문서를 참조하시길 권장합니다.

 

Elasticsearch Official Documentation

 

2025.03.28 - [IT/정보] - 엘라스틱서치(Elasticsearch)에 벡터 임베딩(Vector Embedding) 하기

 

엘라스틱서치(Elasticsearch)에 벡터 임베딩(Vector Embedding) 하기

안녕하세요! 오늘은 엘라스틱서치(Elasticsearch)에서 벡터 임베딩을 사용하는 방법에 대해 포스팅해보겠습니다. 벡터 임베딩은 자연어 처리(NLP)에서 주로 사용되는 기술로, 단어, 문장, 이미지 등

web-inf.tistory.com

2025.02.27 - [IT/정보] - 엘라스틱 서치 무료버전과 유료버전: 무엇이 다를까?

 

엘라스틱 서치 무료버전과 유료버전: 무엇이 다를까?

안녕하세요! 오늘은 엘라스틱 서치(ElasticSearch) 무료버전과 유료버전의 차이점에 대해 자세히 알아보겠습니다.웹사이트에서 느끼는 이 속도와 성능, 그 뒤에는 엘라스틱 서치가 있죠.그럼 유료

web-inf.tistory.com

 

728x90
반응형