본문 바로가기

데이터처리/elasticSearch

elasticsearch 데이터 검색 & 분석

엘라스틱서치 검색

엘라스틱서치는 루씬 검색 기능을 사용해서 데이터를 검색할 수 있는 풍부한 API 를 제공한다.

 

REST API 검색 요청은 노드에 보내지고 검색요청을 모든 샤드에 보내진다.

모든 샤드에서 충분한 정보를 수집한 후 반환될 도큐먼트가 포함된 샤드만 내용을 반환하도록 요청받는다.

 

 

검색 범위 지정하기

 

전체 클러스터로 검색하지 않고 검색요청에 색인을 포함해서 쿼리를 제한하는게 좋다.

해당 색인의 샤드에만 요청을 보낼 수 있다.

 

검색 요청의 기본 구성 요소

색인을 설정했다면 검색 요청에 중요한 구성요소들을 설정해야 한다.

구성요소는 반환할 도큐먼트 개수를 제어하고 최적의 도큐먼트를 선택해서 결과를 도출한다.

 

query- 검색 요청에 있어 가장 중요한 요소. 점수 기반으로 최적의 도큐먼트를 반환하거나 원치 않는 도큐먼트를 걸러낸다.

 

엘라스틱서치 분석

데이터를 엘라스틱서치에 전송하면 어떤 일이 발생할까?

엘라스틱 서치의 분석이 어떻게 동작하는지 알아보자

 

분석은 도큐먼트를 역색인에 추가되도록 전송하기 전에 수행하는 과정이다.

 

문자 필터링 -> 토크나이저 -> 토큰 필터 과정을 거친다.

 

문자 필터링 

 

먼저 ,문자 필터를 실행하는데 특정 문자를 다른 문자로 변환할수있다.

HTML 등 텍스트를 다른 문자로 변환 할 수 있다.

 

토크나이저

 

특정 토크나이저 종류로 텍스트를 토큰으로 분해한다.

 

토큰 필터

 

토큰을 가져와서 변경을 한다.