Native QueryNativeQuery는 엘라스틱서치의 네이티브 쿼리 DSL (Domain Specific Language) 을 직접 사용할 수 있도록 설계됬다다양한 검색 옵션을 제공하며, 다음과 같은 강력한 기능들을 활용하여 정교한 검색 조건을 정의 가능하다다양한 쿼리 유형: match, term, range, bool, multi_match, wildcard, fuzzy, geo 쿼리 등 다양한 검색 목적에 맞는 쿼리들을 조합 가능복잡한 조건 조합: bool 쿼리를 사용하여 must (필수 조건), should (선택 조건), must_not (제외 조건), filter (스코어에 영향 없는 필터링) 등 복잡한 논리적 조건을 구성할 수 있다정렬(Sorting): 특정 필드 기준으로 오름차순 또는 ..
엘라스틱 서치를 쉽게이해하면RDBMS가 아닌NoSQL의 성격을지닌 하나의 데이터베이스 이면서동시에 강력한 검색엔진의 성격도 띄고있는 개념이라 생각하면된다. NoSQL로써 당연히 스키마는 없고 (Schemaless)Json의 형태를 띄는 데이터베이스이다. B-Tree 구조가 아닌 역색인(Inverted Index) 방식을 사용하여 단어나 문장을 매우 빠르게 찾음 자연어 처리(NLP) 기능이 내장 - 단어를 쪼개는 토큰화 / 불필요한 단어를 거르는 필터링 / 비슷한 형태로 바꿔주는 정규화가 자동 지원단순 텍스트뿐 아니라, 조건 검색(필터링) 과 정렬까지 가능 대량의 리뷰도 빠르게 검색 가능 검색의 특징 = 빠른 검색 속도 -> 반정형화, ETL 형태로 많이 쓰인다 ElasticSearch의 특..
B-트리 란?B-트리(B-tree)는 데이터베이스와 파일 시스템에서 널리 사용되는 트리 자료구조의 일종으로, 이진 트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조이다. 라는데.. 인덱싱이니 탐색 효율을 늘리는 방법인건 알겠는데코딩테스트를 준비하면서 익숙한게 아니라면 어색할 수도 있다.위의 정의는 보고 감만 잡아보고 그림으로 이해 해보자 이런식의 트리 구조 형태로 B-tree가 있다고 해보자총 3개의 계층 구조로 나눠져 있으니 3차 B-tree라고 볼수있다. 눈에 보이는 직관적인 그대로 값을 크기기준으로 나눠서 자식노드를 찾아가는 방법으로조회하는 데이터의 수를 줄인것이다. 예를들어 2라는 값을 찾고자 하면 맨 처음 루트노드에서 10, 20이란 2가지의 기준으로 ..