Infra
-
엘라스틱 서치 10 - 인덱스 설정, 매핑, 템플릿 등록, 라이프사이클 관리Infra 2023. 12. 28. 20:00
주제 10: 엘라스틱서치(Elasticsearch)에서의 인덱스 설정, 매핑, 템플릿 등록 및 라이프 사이클 관리 엘라스틱서치는 데이터를 저장하고 검색하기 위한 기본 단위인 인덱스를 관리하는 기능을 제공합니다. 이번 주제에서는 인덱스 설정, 매핑, 템플릿 등록 및 라이프 사이클 관리에 대해 알아보겠습니다. 10.1 인덱스 설정 및 매핑 개념 엘라스틱서치의 인덱스는 특정 유형의 문서를 저장하는 데 사용되며, 여러 샤드로 구성됩니다. 각 인덱스는 설정 및 매핑을 가지며, 이를 통해 인덱스의 성능과 검색 결과의 정확성을 향상시킬 수 있습니다. 10.2 인덱스 설정 및 매핑 실습 10.2.1 인덱스 생성 및 설정 아래 예제는 'my_index'라는 인덱스를 생성하면서 샤드 개수와 복제 개수를 설정..
-
엘라스틱 서치 9 - 클러스터 설정 및 관리Infra 2023. 12. 25. 20:00
주제 9: 엘라스틱서치(Elasticsearch)에서의 클러스터 설정 및 관리 엘라스틱서치는 분산 시스템으로 설계되어 있어, 여러 노드로 구성된 클러스터를 설정하고 관리하는 기능을 제공합니다. 이번 주제에서는 클러스터를 설정할 때 고려해야 하는 항목들과 클러스터를 관리하는 방법에 대해 알아보겠습니다. 9.1 클러스터 설정 개념 엘라스틱서치의 클러스터 설정은 여러 노드의 추가 및 제거, 샤드의 할당, 복제 등 다양한 요소를 포함합니다. 이러한 설정은 클러스터의 성능과 안정성에 큰 영향을 미치므로, 세심한 계획과 관리가 필요합니다. 핵심 설정 항목 노드 개수: 클러스터에 포함될 노드의 개수를 결정합니다. 노드의 개수는 클러스터의 처리 능력과 데이터 저장 용량을 결정하는 중요한 요소입니다. 샤드 개수: 각 인..
-
엘라스틱 서치 8 - 고급검색Infra 2023. 12. 21. 20:00
주제 8: 엘라스틱서치(Elasticsearch)에서의 고급 검색 엘라스틱서치는 사용자가 다양한 방법으로 복잡한 검색 질의를 수행할 수 있게 해주는 고급 검색 기능을 제공합니다. 이번 주제에서는 엘라스틱서치에서 고급 검색을 수행하는 방법에 대해 알아보겠습니다. 8.1 고급 검색 개념 엘라스틱서치의 고급 검색 기능은 복합 쿼리, 스크립팅, 정렬, 페이징 등 다양한 기능을 제공합니다. 이를 통해 사용자는 복잡한 검색 요구사항을 만족시키는 검색 질의를 수행할 수 있습니다. 8.2 고급 검색 실습 8.2.1 복합 쿼리 아래 예제는 'my_index'라는 인덱스에서 'message' 필드에 'cool'이라는 단어를 포함하고, 'date' 필드의 값이 ..
-
엘라스틱 서치 7 - 스크립팅Infra 2023. 12. 18. 20:00
주제 7: 엘라스틱서치(Elasticsearch)에서의 스크립팅 엘라스틱서치는 데이터 처리 과정에서 동적으로 계산을 수행할 수 있는 스크립팅 기능을 제공합니다. 이번 주제에서는 엘라스틱서치에서 스크립팅을 사용하는 방법에 대해 알아보겠습니다. 7.1 스크립팅 개념 엘라스틱서치의 스크립팅은 데이터 처리 과정에서 필드의 값을 동적으로 계산하거나, 쿼리의 동작 방식을 변경하는 등의 작업을 수행합니다. 스크립트는 주로 Painless라는 엘라스틱서치에서 제공하는 언어로 작성되며, 이는 성능과 보안을 최적화한 언어입니다. 7.2 스크립팅 실습 7.2.1 스크립팅을 이용한 계산 아래 예제는 'my_index'라는 인덱스에서 'price' 필드의 값에 10을 곱한 값을 계산하는 스크립팅 쿼..
-
엘라스틱 서치 6 - 전문(full-text) 검색Infra 2023. 12. 14. 20:00
주제 6: 엘라스틱서치(Elasticsearch)에서의 풀 텍스트 검색 엘라스틱서치는 풀 텍스트 검색 기능을 제공하여, 대용량의 텍스트 데이터를 효율적으로 검색할 수 있습니다. 이번 주제에서는 엘라스틱서치에서 풀 텍스트를 검색하는 방법에 대해 알아보겠습니다. 6.1 풀 텍스트 검색 개념 풀 텍스트 검색은 문서의 전체 텍스트를 대상으로 검색을 수행하는 방법입니다. 이를 위해 엘라스틱서치는 인덱싱 시에 텍스트를 토큰화하여 역 인덱스를 구성하고, 검색 시에는 이 역 인덱스를 사용하여 빠르게 결과를 찾아냅니다. 6.2 풀 텍스트 검색 실습 6.2.1 단일 풀 텍스트 검색 아래 예제는 'my_index'라는 인덱스에서 'message' 필드에 'cool'이라는 단어를 포..
-
엘라스틱 서치 5 - 데이터 집계Infra 2023. 12. 11. 20:00
주제 5: 엘라스틱서치(Elasticsearch)에서의 데이터 집계 엘라스틱서치는 데이터를 효과적으로 분석할 수 있는 강력한 데이터 집계(Aggregation) 기능을 제공합니다. 이번 주제에서는 엘라스틱서치에서 데이터를 집계하는 방법에 대해 알아보겠습니다. 5.1 데이터 집계 개념 엘라스틱서치의 데이터 집계는 복잡한 데이터 분석을 위해 다양한 유형의 집계(예: 합계, 평균, 최대값, 최소값 등)를 제공합니다. 이 집계는 복잡한 계층 구조로 구성되어 복잡한 데이터 분석을 가능하게 합니다. 5.2 데이터 집계 실습 5.2.1 단일 집계 아래 예제는 'my_index'라는 인덱스에서 'user' 필드의 값이 'kim'인 문서들의 'post_date' ..
-
키바나(kibana) - 소개 및 설치, 엘라스틱서치 연동Infra 2023. 11. 30. 20:00
주제 11: 키바나(Kibana) 소개 및 설치, 엘라스틱서치와의 연동 11.1 키바나(Kibana)란? 키바나는 엘라스틱서치의 데이터를 시각화하고 탐색할 수 있는 오픈 소스 데이터 대시보드입니다. 엘라스틱서치에 저장된 데이터를 동적인 차트와 그래프 등 다양한 형태로 시각화할 수 있으며, 또한 로그 데이터의 실시간 모니터링, 탐색, 분석도 가능합니다. 11.2 키바나 설치하기 키바나도 엘라스틱서치와 마찬가지로 Docker를 이용하여 간편하게 설치할 수 있습니다. 11.2.1 키바나 Docker 이미지 실행 아래 명령을 통해 키바나 Docker 이미지를 실행합니다. docker run -d --name kibana -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://localho..
-
엘라스틱 서치 2 - 인덱스 생성과 관리Infra 2023. 11. 27. 20:00
주제 2: 인덱스 생성과 관리 2.1 인덱스란? 인덱스는 엘라스틱서치에서 데이터를 저장하는 핵심 단위입니다. RDBMS의 데이터베이스에 해당하는 개념으로, 하나의 인덱스는 공통된 특성을 가진 문서들의 집합입니다. 각 문서는 고유한 ID를 가지며, 문서 내부의 필드는 각각의 데이터를 저장합니다. 2.2 인덱스 생성하기 엘라스틱서치에서 인덱스를 생성하는 방법은 다음과 같습니다. curl -X PUT "localhost:9200/my_index?pretty" 위 명령은 'my_index'라는 이름의 인덱스를 생성합니다. 여기서 localhost:9200은 엘라스틱서치 서버의 주소이며, my_index는 생성할 인덱스의 이름입니다. 성공적으로 인덱스가 생성되면, 엘라스틱서치는 아래와 같은 JSON 응답을 반환합..