[ElasticSearch] 검색 쿼리 (1)

Woong·2022년 8월 16일
0

ElasticSearch

목록 보기
6/21

쿼리 종류

leaf query

  • 특정 field 에서 term 을 찾는 쿼리
  • match, term, range 쿼리 등

compound query

  • 복합 쿼리 : 쿼리를 조합해 사용하는 쿼리
    • bool(논리) 쿼리 등

full text query

  • 전문 쿼리 : 전문 검색 하기위한 쿼리
  • text 타입으로 매핑된 필드에 대해 검색 권장
  • match query, match phrase query, multi-match query, query string query 등

match query

  • text 타입 필드에서 특정 term 을 검색할 때 사용
    • term 간의 공백은 OR 로 인식
  • 토큰화된 검색어에 대해 검색하므로, 대부분 대소문자 구분이 없음
    • 일반적으로 analyzer 에서 소문자 변경이 이루어지므로. (예외 있음)

match phrase query

  • 검색하려는 모든 단어가 있어야하고, 순서가 일치해야 검색
    • 검색어 토큰화는 match query 와 동일하나, 순서 일치 여부 추가된 형태
    • 순서가 바뀌거나, 중간에 다른 단어 포함시 매칭되지 않음
  • ※ 검색시 많은 리소스를 요구하므로 주의

multi match query

  • 여러 필드에서 검색하는 쿼리
    • text 타입 필드에 사용 권장
    • 특정 필드에 ^ + 숫자 조합으로 가중치 부여 가능

term level query

  • 정확히 일치하는 term 을 찾기 위한 쿼리
  • keyword 타입으로 매핑된 필드에 대해 검색 권장
  • term qeury, terms query, fuzzy query 등

term query

  • 정확히 일치하는 term 에 대해서만 매칭되는 쿼리
  • analyzer 로 토큰화 되지 않음
    • 대소문자도 정확히 일치해야 검색

terms query

  • 여러 term 들을 검색
  • analyzer 를 거치지 않으므로 keyword 타입에 사용, 대소문자 구분

reference

  • 서적 '엘라스틱 스택 개발부터 운영까지'

0개의 댓글