1장. ElasticSearch 훑어보기 / 2장.ElasticSearch 기본 동작
1.1 ElasticSearch란
- ElasticSearch는 루씬(Lucene) 기반의 오픈 소스 검색 엔진이다. JSON 기반의 문서를 저장하고 검색할 수 있으며 문서들의 데이터를 기반으로 분석 작업도 할 수 있다.
- 준실시간 검색 엔진 : 실시간이라고 생각할 만큼 색인된 데이터가 매우 빠르게 검색됨
- 클러스터 구성 : 한 대 이상의 노드를 클러스터로 구성하여 높은 수준의 안정성을 이루고 부하를 분산할 수 있음.
- 스키마리스 : 입력될 데이터에 대해 미리 정의하지 않아도 동적으로 스키마를 생성할 수 있음.
- REST API : REST API 기반의 쉬운 인터페이스를 제공하여 비교적 진입 장벽이 낮음
- {”title”:”test”}라는 JSON 문서를 입력하면 해당 문서는 우선 메모리에 저장된다. 그리고 1초 후에 샤드(shard)라는 ElasticSearch 데이터 저장 공간에 저장되고 이 이후에는 쿼리를 통해서 해당 문서를 검색 할 수 있게 된다.
- 준실시간성은 ‘refresh_interval’이라는 파라미터의 영향을 받는다. 해당 파라미터를 조절하면 특정 시간 이후에 검색할 수 있게 변경할 수 있다.
- 클러스터를 구성하고 있는 모든 노드는 메시 형태로 요청을 주고받기 때문에 어떤 노드에서도 색인/검색 작업을 처리할 수 있다.
- 메시 형태란 : 모든 구성 요소가 서로 논리적으로 연결되어 있어서 다른 노드들과 직접적으로 통신할 수 있는 네트워크 형태를 의미한다.
- 스키마리스는 문서를 입력하기에 앞서 문서에 어떤 필드를 저장할 것인지 사전에 정의하지 않아도 된다는 의미!
- curl로 ElasticSearch 실행 확인하기
- curl -s를 사용하면 진행률 표시기와 오류 메시지가 표시되지 않아 명령이 보다 최소화되고 조용한 방식으로 실행됩니다
- curl -s http://localhost:9200
2.1 문서 색인과 조회
- 새로운 문서를 입력할 때는 PUT, 기존 문서를 수정할 때는 POST, 삭제할 때는 DELETE, 조회 시에는 GET을 사용한다.
- ElasticSearch를 통해서 JSON 형태의 문서를 색인하고, 조회하고, 특정 조건에 맞는 문서들을 검색하고, 통계를 내는 등의 작업을 할 수 있다.
'Engineering WIKI > Book' 카테고리의 다른 글
기초부터 다지는 엘라스틱서치 운영 (6장) / ElasticSearch 클러스터 운영하기 (33) | 2024.04.06 |
---|---|
기초부터 다지는 엘라스틱서치 운영 (5장) / ElasticSearch 클러스터 구축 (36) | 2024.03.28 |
기초부터 다지는 엘라스틱서치 운영 (3 ~ 4장) / 모니터링 및 기본개념 (112) | 2023.09.29 |
[일래스틱 스택 6 입문] 3장. 유사도 검색 (84) | 2023.09.17 |
[일래스틱 스택 6 입문] 2장. 일래스틱서치 시작하기 (2) | 2023.08.22 |
[일래스틱 스택 6 입문] 1장. 일래스틱 소개 (1) | 2023.08.22 |
리팩토링 2판 - Chapter 11 (API 리팩터링) (0) | 2022.10.20 |
리팩토링 2판 - Chapter 10 (조건부 로직 간소화) (0) | 2022.10.20 |