no image
Elasticsearch Index Shard Replicas
인덱스 샤드 레플리카 샤드 엘라스틱서치에서 인덱스가 무엇인지 어떻게 생성하는지 봤어요. 잠깐 다시 처음으로 돌아가서 엘라스틱 홈페이지에서 엘라스틱서치를 뭐라고 설명했었는지 다시 보고 올게요. 엘라스틱서치는 분산형 RESTful 검색 및 분석 엔진이라고 소개하고 있습니다. 그럼 이쯤에서 엘라스틱서치가 왜 분산형인지 알아봐요. Shards 엘라스틱서치 인덱스는 Shard라는 단위로 나뉘어 저장해요. 이런 걸 Sharding이라고 하는데 이 Sharding은 하나의 인덱스를 여러 조각으로 나누는 것을 말해요. 인덱스 단위로 수행돼요. 수평적 확장을 가능하게 해요. 엘라스틱서치는 Apache Lucene을 기반으로 만들어졌다고 했어요. 이 Shard가 Apache Lucene의 Index에요. 엘라스틱 7.0 ..
no image
Elasticsearch에 요청하기 with REST APIs
cURL 명령어를 사용해서 API 요청 보내기 포스트맨을 사용해서 API 요청 보내기 Kibana를 사용해서 API 요청 보내기 엘라스틱서치는 ReSTful APIs를 지원해요. 엘라스틱서치에 HTTP를 사용해 API 요청을 보내는 것을 해보아요. https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html HTTP를 사용해서 API 요청을 보내는 방법은 많지만 세가지만 확인해 볼게요. cURL 명령어를 사용해서 API 요청 보내기 대부분의 리눅스에는 cURL이 기본적으로 설치되어 있어요. 엘라스틱서치 설치 확인을 하면서 이미 사용해 봤지만 다시 한번 볼게요. xodwk@test-dokr  ~  curl 'localhos..
Elasticsearch 구조 더듬기
어렴풋이 장님 코끼리 다리 더듬듯 같이 엘라스틱서치를 더듬어보고 싶어요. 엘라스틱서치라는 이 커다란 시스템은 하나 혹은 복수개의 노드에서 실행돼요. 각기 다른 노드에서 돌아가고 있는 엘라스틱서치 클러스터라도 같은 클러스터 이름을 설정하고 서로 통신이 된다면 하나의 엘라스틱서치 클러스터로 사용될 수 있어요. ➜ ~ curl -XGET http://localhost:9200 { "name" : "9af8af5ad54e", "cluster_name" : "docker-cluster", "cluster_uuid" : "pOfo-rshSoOAQ01qVbEPsQ", ... } 위 화면은 Docker를 사용해 엘라스틱서치 컨테이너를 생성한 후 curl 명령어를 실행했을 때 나온 응답 값의 일부예요. cluster_n..
no image
Docker를 사용해 Elasticsearch 설치하기
Elasticsearch를 사용하는 방법은 크게 2가지로 나눌 수 있을 것 같아요 Elasticsearch Cloud, AWS, GCP 등과 같은 클라우드 서비스를 사용하기 직접 설치해서 사용하기 운영 목적으로 사용한다면 클라우드를 사용하는 것도 관리의 부담이나 비용적인 측면에서 봤을 때 유리할 수 있을 것 같아요. 개발이나 공부 목적이라면 비싼 비용을 지불하면서 클라우드에서 사용하는 것보다는 설치부터 운영까지 로컬에서 직접 해보는 게 좋겠지요? 그래서 우리는 로컬에 설치해서 사용해볼 거예요. 직접 설치해서 사용하는 방법은 크게 3가지로 나눌 수 있을 것 같아요. 패키지로 설치하기 소스에서 설치하기 Docker로 설치하기 우선 여기에서는 Docker를 사용해서 Elasticsearch를 설치하는 걸 해볼..
no image
Elasticsearch 시작하기
새로 무언가 배우고 싶다면 어떻게 해야 할까요? 가장 간단하고 쉬운 방법은 공식문서를 찾아보는 거라고 생각해요. 여기에 더해서 모범사례 등과 같은 실 사용에서의 용례를 제공해준다면 더 좋겠지요? 특히나 요즘 새로 나오는 많은 기술들은 한글 공식문서도 제공하는 곳이 많아서 더욱 공부하기 수월한 것 같아요. 그런데 이 elasticsearch는 한글 공식 문서도 제공하지 않고 그나마 있는 영문 공식문서도 그 양이 워낙 방대하고 또 이런이런 순서로 공부해 보세요 하고 가이드도 제공하지 않아서 차근차근 하나하나 공부하기 더 어려운 것 같아요. 물론 튜토리얼도 제공하고 있지만 뭔가 2% 부족한 것 같고 Elastic Blog나 커뮤니티도 운영하지만 이러한 것들을 통해서는 elasticsearch에 대해 공부하기 ..