Database/NOSQL

Elastic Search - 기초 쿼리 (1)

류큐큐 2024. 4. 4. 16:25

해당 포스팅은

공식 문서 내용을 정리하면서 연습하는 포스팅 입니다.

그리고 이 포스팅의 궁극적인 목표는 이커머스에 사용되는 검색 기능을 만드는 것이다.

자 시작해보자.

 

match_all 
 - 별다른 조건 없이 해당 인덱스의 모든 도큐먼트를 검색




match 

- 풀 텍스트 검색에 가장 많이 사용되는 쿼리 해당 쿼리에 검색어를 집어 넣게 되면 디폴트로 OR 조건으로 검색되어 해당 단어가 포함되어 있는 모든 문서를 검색

 

 

펜디만 검색했을때
메종키츠네를 검색어에 포함시키면 OR 조건이기 때문에 펜디와 메종키츠네 둘다 나온다

 

 

And 조건으로 검색하고 싶다면  operator 옵션을 사용해야하고 아래와 같이 문법이 조금 달라진다.

 

 

 

 

match_phrase

 

공백을 포함해 정확히 일치하는 내용을 검색하기 위해선 위의 쿼리를 사용한다. 해당 쿼리는 입력된 검색 순서까지 고려하여 검색을 수행한다.

아래 그림과 같이 말이다

그리고 slop이란 옵션도 있는데 slop은 지정된 값 만큼 중간에 어떤값이 있던간에 허용된 수 만큼 상관없는 단어를 수용한다.

공식 문서에는 1 이상은 정확도가 떨어지기 때문에 비추천한다고 나온다.

 



가장 기본적인 쿼리에 대해 알아 보았고 이제 실제로 많이 쓰이는 Bool 복합 쿼리에 대해 알아보자.

출처 : https://esbook.kimjmin.net/05-search/5.1-query-dsl