-Full text search가 가능
->이 말은 토큰 analyer같은게 내장디ㅗ어 있다는 것, document사이 relevancy를 측정할 measure가 있다는 것
->inverted index 사용
구체적으로는 참고자료 inverted index이해하기 참고
요약하면,
row는 field1(term11,term12,...)field2(term21,term22,...),...
column은 document로 document에 대해
term(in each field)의
doc freq(term을 포함하는 document개수),
position(term이 doc내에서 몇번째 token인지)
term freq(term이 각 doc마다 몇번 나타나는가),
offset(term이 doc내에서 몇번째 위치에서 시작하고 끝나는지)
정보를 분석하여 저장해둔다는 것이 핵심
이에 ES는 Standard Analyzer라는 Tokenization기능이 내장되어 있다.
->따라서 NRT(Near Real Time)검색이 가능
-Platform-indenpendent
->RESTful API를 사용하기 때문에
-같은 field명이면 다룬 index에 속하는 document도 한번에 조회가 가능하다.
->검색 특화
다중 Shard의 존재로 병렬처리가 가능
->Scalibility가 존재
단점으로는
-롤백, 트랜잭션 기능이 제공되지 않음(트랜잭션 기능이란게 뭐지?)
-Real Time은 불가능, NRT만 가능, 이는 indexed data는 내부적인 commit/flush같은 과정을 거치기 때문(commit/flush가 뭐지?)
참고자료:
'CS' 카테고리의 다른 글
(미완)Faiss, Facebook AI Similarity Search (0) | 2020.10.29 |
---|---|
파이썬에서 원소 체크를 자주한다면 list말고 set이나 dictionary를 쓰자. (0) | 2020.10.29 |
Inverted index 이해하기 (0) | 2020.10.29 |
(미완)[Docker] option 정리 (0) | 2020.10.21 |
(미완)Ubuntu 명령어 정리 (0) | 2020.10.21 |