Nutch는 자바로 구현된 오픈소스 검색엔진 입니다. Lucene이 Indexer 와 Searcher로 구성되어 있고, Nutch는 Lucene에 없는 웹검색에 필요한 모든 기본요소를 전부 갖추어서 웹검색 용으로 확장 한 것이라고 보면 될 것 같습니다. 그래서 Nutch는 Lucene 기반의 공개 웹검색 엔진입니다. Nutch는 많은 부분 구글 검색 엔진 구조를 목표로 하고 있습니다.
전체적인 구조는 일반적인 웹검색 시스템의 구조와 비슷한 것 같습니다.
Nutch의 구조는 그림과 같은데, 이걸 지금 제가 알고 있는 웹검색 시스템의 구조로 이해하기 위해서 대충 나누어 보면 아래처럼 나눌 수 있을 것 같습니다.
- Crawler
- Nutch는 웹데이터 들을 효과적으로 가져올 수 있는 fetcher 들을 가지고 있습니다. 이를 통해서 목표로 하는 URL 들의 데이터를 수집하고, 이 작업은 목표로 하는 깊이까지 도착하면 멈춥니다.
- Repository
- 수집된 웹 데이터 들은 Repository에 저장됩니다. Nutch에서는 특별히 Repository 라는 명칭을 사용하지는 않지만, WebDB와 Segment들이 여기에 해당 한다고 볼 수 있을 것 같습니다.
- Indexer
- 수집된 데이터는 Lucene에서 사용 가능한 Index 형식으로 구성되어야 합니다.
- Searcher
- 구성된 Index는 Lucene Searcher 에서 사용됩니다.
몇일 뒤에 어떤 고마운 분이 Nutch의 구조나 특징에 대하여 조사 한것을 설명 해 주실텐데 Nutch가 어떻게 생긴건지 전혀 몰라서 간단히 살펴 보았습니다. 이제 어느정도 설명을 들을 만한 최소한의 기본 준비는 한 것 같으니 이제 기다려야 겠군요. ^^
참고문헌:
Introduction to Nutch, Part 1: Crawling by Tom White 2006/01/10 번역본
Introduction to Nutch, Part 2: Searching by Tom White 2006/02/16
Nutch: Open-Source Web Search Software by Doug Cutting(doug@nutch.org) 2004/11/26
Open Source Search by Doug Cutting(cutting@apache.org) 2005/12/05
'정보검색' 카테고리의 다른 글
초기 구글 검색엔진의 구조 (0) | 2007.11.01 |
---|---|
구글 페이지 랭크의 이해를 위한 간단설명 (10) | 2007.10.30 |
정보처리(검색) 기계에 대한 최초의 묘사 (3) | 2007.05.28 |