post-thumbnail

Elastic Search - 분석기

분석기 엘라스틱서치는 전문 검색을 지원하기 위해 역인덱싱을 사용한다. 전문 검색은 문자열에서 부분 검색을 수행하는 것이다. 엘라스틱서치는 캐릭터 필터, 토크나이저, 토큰 필터로 구성되어 있는 분석기 모듈을 가진다. 캐릭터 필터 입력받은 문자열을 변경하거나 불필요한 문자들을 제거한다. 토크나이저 문자열을 토큰으로 분리한다. 분리할 때 토큰의 순서나 시작, 끝 위치도 기록한다. 토큰 필터 분리된 토큰들의 필터 작업을 한다. 대소문자 구분, 형태소 분석 등의 작업이 가능하다. 분석기에는 하나의 토크나이저가 반드시 포함돼야 한다. ![](https://velog.velcdn.com/images/leehanju408/post/37ed

2023년 2월 28일
·
0개의 댓글
·
post-thumbnail

Elasticsearch - 텍스트 vs 키워드

텍스트 타입 텍스트 타입은 일반적으로 문장을 저장하는 매핑 타입으로 사용한다. 일반적으로 문장이나 여러 단어가 나열된 문자열을 텍스트 타입으로 지정한다. 텍스트 타입으로 지정된 문자열은 분석기에 의해 토큰으로 분리된다. 이렇게 분리한 토큰들은 인덱싱된다. 이를 역인덱싱이라고 한다. DSL 쿼리를 이용해 다음과 같이 검색을 할 수 있다. 1번 도큐먼트의 contents 필드에 [beautiful, day]라는 2개의 용어가 저장되어있어서 검색이 된다. 키워드 타입 키워드 타입은 카테고리나 사람 이름, 브랜드 등 규칙성이 있거나 유의미한 값들의 집합, 즉 범주형 데이터에 주로 사용된다. 키워드 타입은 문자열 전체가 하나의 용어로 인덱싱된다.

2023년 2월 16일
·
0개의 댓글
·
post-thumbnail

Elasticsearch 개념

Elastic Search Elasticsearch란 아파치 루씬(Lucene) 기반의 오픈소스 실시간 분산 검색 엔진으로 JSON 기반의 비정형 데이터 분산 검색 및 분석을 지원한다. Elasticsearch는 현재 웹 문서 검색, 소셜 데이터 분석, 쇼핑몰 검색 등에 활용되고 있으며, 빅데이터 분석/처리 및 MSA 환경의 로그 모니터링 등에도 활용되고 있다. 논리적 구조 1) 도큐먼트(Document) Elasticsearch 데이터 최소 단위(RDBMS의 Row와 비슷). JSON 오브젝트 하나. 하나의 Document는 다양한 필드로 구성되어 있으며, 이 필드에는 데이터 필드에 해당하는 데이터 타입이 들어감. 중첩구조를 지원하기 때문에 Document 내부에 Document가 들어가는 것도 가능함. 2) 타입(Type) 여러개의 Document가 모여서 한개의 Type을 이룸(RDBMS의 Table과 비슷). 하지만 Elas

2023년 2월 13일
·
0개의 댓글
·