Apache Lucene에 구축되어 배포된 검색 및 분석 엔진
2010년 릴리스 이후로 Elasticsearch는 빠르게 인기 검색 엔진이 되었고, 로드 분석, 전체 텍스트 검색, 보안 인텔리전스, 비즈니스 분석 및 운영 인텔리전스 사용 사례에 일반적으로 사용
JSON 문서 형식의 데이터를 수집 도구나 API를 사용해 ElasticSearch로 전송 가능
자동으로 원래의 문서를 저장하고, 클러스터의 인덱스에 문서 검색 가능 참조를 추가
ElasticSearch API 를 사용하여 문서 검색 및 조회 가능
또한 시각화 도구인 Kibana를 ElasticSearch와 함께 사용하여 데이터 시각화 및 대화식 대시보드 구축 가능
데이터가 늘어나도 검색 할 때 속도가 크게 저하되지 않도록 역색인(inverted index)을 사용
일반적으로 RDBMS에서 검색을 사용하는 경우, 모든 튜플의 내용을 읽어서 검색 대상을 찾으므로 데이터가 늘어날수록 검색의 속도가 저하됨
하지만 역색인을 사용하는 경우 데이터에서 키워드를 추출해 추출한 키워드에 대해 해당 키워드를 포함해야하는 튜플이 늘어나는 것이 아닌 키워드에 대응되는 ID의 배열에만 튜플의 ID가 추가되면 되므로 검색 속도에는 큰 영향이 없음
버전을 마지막에 기입하여 이미지를 다운로드 받는다.
docker pull docker.elastic.co/elasticsearch/elasticsearch:[버전]
위에서 다운로드 받은 이미지의 버전을 기입해서 실행한다.
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:[버전]
7 버전까지는 "http://localhost:9200"
8 버전부터는 "https://localhost:9200"
접속 시, 기본 사용자 이름 - elastic / 비밀번호 - changeme
비밀번호를 변경하고자 한다면 실행중인 컨테이너에 접속하여 컨테이너의 ID 확인하기
docker ps
컨테이너 ID 확인 후 해당 컨테이너 쉘에 접근하기
docker exec -it "컨테이너ID" sh
쉘에 접근 후 비밀번호 변경 (6자리 이상으로 구성하기)
bin/elasticsearch-setup-passwords interactive
비밀번호 변경 후 쉘 빠져나가기
exit
실행중인 컨테이너 재시작하기
docker restart "컨테이너ID"
이후 변경된 비밀번호로 다시 접근하면 정상 접근되는 것을 확인할 수 있다 !
출처