Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Java
- ElasticSearch 동의어 파일
- H2
- ElasticSearch 동의어 사전
- Servlet 멀티 스레딩
- Servlet Life Cycle
- spring 장점
- 인텔리제이
- 자바
- 안드로이드
- Servlet과 Thread
- ContextLoaderListener란
- ApplicationContext란
- ElasticSearch Shingle
- Spring Servlet이란
- 계산기
- ElasticSearch EdgeNGram
- 토큰필터
- elasticSearch
- 안드로이드스튜디오
- Spring Handler
- ElasticSearch 토큰필터
- layout
- 동의어 파일
- Servlet Container란
- Spring Container란
- Bean Factory란
- Dispathcher Servlet이란
- ElasticSearch NGram
- H2 DB
Archives
- Today
- Total
결국 무엇이든 해내는 사람
ElasticSearch - 역 인덱스 ( Inverted Index)란 [ 설명 ] 본문
두서없는 공부 노트/ElasticSearch
ElasticSearch - 역 인덱스 ( Inverted Index)란 [ 설명 ]
kkm8257 2021. 12. 14. 10:22반응형
-- 일반적으로 오라클이나 MySql 같은 관계형 DB에서는 내용을 테이블 구조로 저장을 한다. 2차원 구조
-- 만약에 테이블에서 Text에 'fox'가 포함된 행들을 가져온다고하면 Text열을 한 줄씩 찾아 내려가면서 'fox' 가 있으면 가져오고
-- 없으면 넘어가는 식으로 데이터를 가져옴
-- 전통적인 RDBMS에서는 위와 같이 [ like ] 검색을 사용하므로 데이터가 늘어날수록 검색해야 할 대상이 늘어나 시간도 오래걸리고
-- row 안의 내용을 모두 읽어야 하기 때문에 기본적으로 속도가 느리다.
-- ES는 데이터를 저장할 때 다음과 같이 역 인덱스(Inverted Index)라는 구조를 만들어 저장합니다.
-- 역 인덱스란, 책의 맨 뒤에 있는 주요 [ 키워드 ]에 대한 내용이 몇 페이지에 있는지 알려주는 [ 찾아보기 페이지 ]에 비유 할 수 있다.
-- ES에서는 추출된 각 키워드를 [ 텀(Term) ] 이라고 부른다. 이렇게 역 인덱스가 있으면 fox를 포함하고 있는 도큐먼트들의 id를 바로 얻어 올 수 있다.
-- 그러므로 데이터가 늘어나도 찾아가야 할 행들이 늘어나는 것이 아니라, 역 인덱스가 가리키는 id의 배열값이 추가되는 것이기 때문에
-- 큰 속도 저하없이 빠른 속도로 검색이 가능하다.
-- 이러한 역 인덱스를 , 데이터가 저장되는 과정에서 만들기 때문에 ES는 데이터를 입력할 때 저장이 아닌 [ 색인한다 ]고 표현한다.
반응형
'두서없는 공부 노트 > ElasticSearch' 카테고리의 다른 글
ElasticSearch - _analyze API란 [ 예제, 설명 ] (0) | 2021.12.14 |
---|---|
ElasticSearch - 텍스트 분석( Text Analysis )이란 [ 설명 ] (0) | 2021.12.14 |
ElasticSearch - range 쿼리 [ 예제, 설명 ] (0) | 2021.12.13 |
ElasticSearch - keyword 타입 [ 예제, 설명 ] (0) | 2021.12.13 |
ElasticSearch - Exact Value Query ( 정확값 쿼리), filter [ 예제, 설명 ] (0) | 2021.12.13 |
Comments