-
Notifications
You must be signed in to change notification settings - Fork 0
SearchEngine Research
baekkyu cho edited this page Aug 6, 2017
·
5 revisions
- 데이터 수집 (크롤링)
- 인덱싱 데이터 추출 (형태소 분석)
- 데이터 인덱싱
- 검색
참고
- 검색엔진의 원리와 Lucene : http://2ssoosike.tistory.com/206
- 구성도 이미지
- 형태소 분석기란?
- 문장(오타 및 오류 포함)으로부터 형태소열로 바꾸는 작업을 말한다.
- 형태소란
- 형태소는 의미의 최소단위로써, 더 이상 분석 불가능한 가장 작은 의미 요소를 말한다.
- e.g) "저는 자바개발자입니다.” => 자바 / 개발자 / 자바개발자
- apache top-class project
- 고성능(high-performance), 정보검색(Information retrieval) 라이브러리
- IR (Information Retrieval) => 문서를 검색하거나, 문서의 내용을 검색하거나, 문서와 연관된 메타 정보를 검색해 가는 과정
- java로 개발됨
- full-featured, text-search 검색엔진
- lucene을 바탕으로 개발한 분산검색엔진
- 설치와 서버확장(scale-out)이 매우 편리함
- JSON기반으로 모든 문서를 저장, RESTFul API를 지원
- Multi-tenancy 지원
- 하나의 elasticsearch 서버에 여러 인덱스를 저장하고, 하나의 쿼리로 검색 가능
- 다양한 Plugin을 이용해 확장이 가능함
- e.g. Thrift, Jetty 플러그인을 이용해서 전송 프로토콜을 변경할 수 있음
- 여러개의 노드로 구성된 분산검색엔진이다. index는 각각의 샤드마다 구성(0개이상의 복제본)된다.
- 오픈소스 server-side 데이터처리 파이프라인
- 다양한 소스에서 동시에 데이터를 수집(Ingest)하여 변환한 후, 자주 사용하는 Stash 보관소로 보냄
- Fluentd나, kafka 등도 많이 사용
- 데이터 시각화 도구 (시계열, 그래프, 지도기반 시각화 ...)
- ElasticSearch로 검색한 데이터를 손쉽게 볼 수 있다.