한땀한땀 정성들인 코딩

[크롤링] apach nutch 본문

메모

[크롤링] apach nutch

romance penguin 2017. 1. 3. 16:16
반응형

빅데이터의 시초는 웹크롤링 이었다는데. ..


검색엔진, 오픈소스


아키텍쳐

-crawler : 페이지 수집, 페이지에 대한 index구성

-searcher : 유저의 요청에 따른  필요한 정보 찾기

index는 서로다른 두개의 구성요소간에 가교 역활


Crawler


다양한 구조체 


-web db : 웹페이지 정보를 담는데 특화된 자료구조 , page 그래프를 일정 주기를 가지고 재구성, page 와 link 두개의 타입으로 구성 되있다. 경로를 따라가면서 문서수집을 해야 하기에 필요하다.


-segments : 인덱스된 페이지의 모음, 세그먼트로부터 url의 목록을 뽑아내어서 fetchlist를 만들어 내고 브라우징해 data를 가져온다. 세그먼트는 각각 생성된 날짜와 시간 정보를 가지고 있으며 휘발성이다.


-index : 가져온 모든 page를 색인화( 구별가능 ) 한것, nutch는 lucence의 인덱싱 툴과 api사용

crawler tool의 프로세스 사이클


1. 새로운 webDB를 생성한다.

2. webDB로  부터 수집이 최초로 시작될 rootURL설정


3. webDB로부터 fetchlist를 생성

4. list의 url로부터 page를 수집

5. 수집된 page로부터 링크 get하면 계속 webDB를 갱신


3~5의 단계를 반복


7. 중요도와 links 정보를 업데이트

( 결국 중요도를 선정하는데 있어 사용하는 알고리즘을 이해하는게 중요)

8. 수집한 page의 색인을 구성( index )

9. 색인으로부터 중복된 page제거 (그렇다면 중복된 page를 애초에 안 읽는게 속도업에 낮지 않나?)

10. 효율적 검색을 위해서 단일색인 병합


Crawl작동

1. root url

2. 필터 지정

3. 그래프 갱신주기





반응형

'메모' 카테고리의 다른 글

실습 : 세그먼트 구조 이해하기  (0) 2017.01.04
메모리의 세그먼트 구조  (0) 2017.01.04
기본 어셈블리 명령어  (0) 2017.01.04
인텔 32bit x86 cpu 레지스터의 이해  (0) 2017.01.04
쉘코드의 정의  (0) 2017.01.04