IT집중교육 _ README

  • 개요

    웹 정보 서치 엔진은 웹에 산재한 문서들을 검색하기 위한 프로그램입니다. 검색 엔진은 기본적으로 수집(Crawling), 색인(Indexing), 검색(Searching) 3가지 단계를 거치게 됩니다. 더욱 구체적으로는 웹 문서의 수집을 하고, 수집된 문서들의 메타 정보(각 단어마다 weight기준으로 정렬된 URL을 튜플로 가짐, [word(primary), rank, url, title, weight])를 로컬 리소스에 색인화 저장한 후, 서비스 단계에서 사용자 질의어에 따라 적절한 웹 문서 URL을 제공하는 형태입니다.

    기존의 시스템과 차별화 될 우리 팀의 제안 방식은 검색 단계에서 발현될 수 있습니다. 질의어가 단어 1개로 이루어져 있다면 랭킹별로 출력할 수 있겠지만, 두 개 이상의 질의어에 대해서는 각 질의 단어 별로 가중치를 사용자가 직접 부여할 수 있습니다. 예를 들어 ‘하둡을 질의어로써 검색하고자 한다면 색인DB에서 하둡이라는 word를 랭킹 순으로 출력하지만, ‘하둡 너치를 검색했을 때 하둡에 해당하는 가중치(임의의 양의 실수)너치에 해당하는 가중치를 사용자가 직접 입력하여 연관도를 조정할 수 있게 구현하였습니다.

 

  • 구현 환경

1. 아파치(Apache) 너치(Nutch) 크롤러를 이용한 웹 문서 수집 -> 하둡 기반의 Cloudera를 이용한 병렬화(PC 4)

2. MySQL을 이용한 웹 문서 색인화 저장(메타 정보) -> 하둡 기반의 Cloudera를 이용한 병렬화(PC 4)

3. Ubuntu Linux OS, Ruby On Rails 웹 프레임워크를 이용한 웹 검색 서비스 -> 웹 문서 렌더링, MySQL query transaction, 검색 알고리즘

Comments