본문 바로가기

Computer/Study

(6)
엘라스틱서치 실무가이드(5-1) 5]데이터 집계 : 데이터를 그룹화하여 각종 통계지표를 제공하는 집계기능을 공식적으로 제공 5.1]집계 : 데이터를 그룹화하고 통계를 구하는 기능으로 5.0버전이후 기능이 대폭 강화 5.1.1]엘라스틱서치와 데이터 분석 : 엘라스틱은 SQL보다 더욱 강력한 집계기능을 제공하며 인덱스를 활용해 분산 처리가 가능하기 때문에 더 많은 데이터를 빠르게 집계가 가능 5.1.2]엘라스틱서치가 집계에 사용하는 기술 ▶캐시 : 마스터 노드가 여러 노드에 있는 데이터를 집계해 질의에 답한다. : 데이터의 양이 클수록 집계에 많은 양의 CPU와 메모리 자원이 소모되며 응답에 걸리는 시간이 길어진다 > 캐시를 이용하여 해결(질의 결과를 캐시에 저장하여 같은 질의에대한 응답을 보관된 결과를 반환) : 일반적으로 힙메모리의 1..
엘라스틱서치 실무가이드(4-2) 4.4] 부가적인 검색 API 4.4.1]효율적인 검색을 위한 환경 설정 : 엘라스틱서치는 대량의 데이터를 처리하기 위해 기본적으로 데이터를 분상해서 처리한다. 모든샤드에 검색요청을 브로드캐스팅행서 전달하고 기다린다. 각 샤드는 자신이 가지고 있는 데이터를 기준으로 검색을 수행하고 그 결과를 리턴한다. 모든 샤드로부터 검색결과가 리턴되면 해당 결과를 통해 조합하여 최종 질의 결과를 출력한다. : 즉, 부가적인 환경설정값을 필요로한다. 각자의 데이터 특성이나 검색 패턴에 따라 검색 설정 값을 적절한 값으로 수정한다면 효율적인 클러스터 운영이 가능해진다. ▶동적 분배 방식의 샤드 선택 : 부하분산과 장애극복을 위해 원본 샤드의 데이터를 복제한 레플리카 샤드를 함께 운영 > 검색시 모든 샤드에서 검색을 수행시..
엘라스틱서치 실무가이드(4-1) 4] 데이터 검색 : 특정 문장이 검색어로 요청되면 분석기를 통해 분석된 토큰의 일치 여부를 판단해서 그 결과에 대한 Score를 매긴다. 4.1] 검색 API : 문장은 색인 시점에 Term을로 분해 됨 > 검색시에는 이 텀을 일치 시켜야 검색이 가능해짐. : Term레벨의 쿼리 flow : match의 쿼리 flow > 검색시점에도 match, term 에 따라 인덱스를 분석후 문서번호를 찾는다. 4.1.1]검색 질의 표현 방식 : 엘라스틱서치에서 제공하는 API는 기본적으로 Query를 기반으로 동작 URI 검색 > HTTP GET 요청을 활용하여 표현의 한계(간단한 쿼리만 작성) Requset Body검색 > JSON 형식으로 Body에 쿼리를 입력하여 작성 > uri 검색 이용시 자주 사용되는 ..
엘라스틱서치 실무가이드(3-2) 3.4] 엘라스틱서치 분석기 3.4.1] 텍스트 분석 개요 : 루씬을 기반으로 구축된 텍스트 기반 검색엔진으로 인덱스의 정보가 어떻게 저장할지 분석하는 방법으로 일단 기본 Standard 분석기의 처리 방식을 확인할 수 있으며 _analyze API를 통해 분석 결과를 확인 할 수 있으며 각 분석기의 원칙에 따라서 색인되어 저장된다. 3.4.2] 역색인 구조 모든 문서가 가지는 단어의 고유 단어 목록 해당 단어가 어떤 문서에 속해 있는지에 대한 정보 전체 문서에 각 단어가 몇개 들어있는지에 대한 정보 하나의 문서에 단어가 몇번씩 출현했는지에 대한 빈도 3.4.3] 분석기 구조 문장을 특정한 규칙에 의해 수정 - Character Fiter 수정한 문장을 개별 토큰으로 분리 - Tokenizer Filte..
엘라스틱서치 실무가이드(3-1장) 3] 데이터모델링 문서의 데이터 유형에 따라 필드에 적절한 데이터 타입을 지정 - 매핑 : 색인될 문서의 데이터 모델링 미리 설정해 주지 않는다면 엘라스틱서치 내부에서 자체적으로 필드를 생성 후 타입까지 결정(스키마리스) 3.1] 매핑 API 이해 : 매핑은 색인시 데이터가 어디에 어떻게 저장될지를 결정하는 설정 > 역색인의 방법을 상세희 정의 > 데이터의 타입을 설정 [매핑 정보 설정시 고려사항] 문자열을 분석할것인가? _source에 어떤 필드를 정의할것인가? 날짜 필드를 가지는 필드는 무엇인가? 매핑에 정의되지 않고 유입되는 필드는 어떻게 처리할것인가? 3.1.1] 매핑 인덱스 만들기 ▶ PUT / - 해당 api를 통해 엘라스틱 서치 클러스터에 새로운 인덱스를 추가할 수 있으며 설정 및 인덱스 필..
엘라스틱서치 실무가이드(1장, 2장) 1] 검색 시스템의 이해 : 대용량 데이터를 기반으로신뢰성 있는 검색 결과를 제공하기 위해 검색엔진을 기반으로 구축된 시스템을 통칭 : 대표적으로 서비스로서의 웹 검색사이트(구글, 네이버 등)등이 있으며 프로그램으로서는 엘라스틱서치, 솔라등이 있다. 검색서비스 > 검색시스템 > 검색엔진 → 검색사이트 > 검색기능 > 도구 1.1] 검색시스템 구성요소 수집기 : 웹상에서 필요한 정보를 수집하는 프로그램 스토리지 : 색인 처리된 데이터를 스토리지에 보관하는 저장소 색인기 : 검색엔진이 수집한 데이터를 검색 가능한 구조로 가공하고 저장하는 역할을 함. 검색기 : 사용자 질의를 입력받아 색인기에 저장한 역색인 구조에서 일치하는 문서를 찾아 결과로 반환 함. 1.2] 엘라스틱서치 장점 오픈소스 검색엔진 : 루씬을..