web search engine 만들려고 하는데요
글쓴이: ohmmokzim / 작성시간: 월, 2003/07/21 - 1:01오후
방학기간 동안 검색 엔진을 만들어 볼려고 이곳저곳 두리번 거리면서 자료를 모르고 다니는데요..
쉽지가 않네요.. 무얼 준비해야하는지 어떤걸 참고해야하는지 혼자서는 힘드네요..
처음부터 하나하나 공부해가려고 하는데요
고수분들의 조언을 구합니다. 참고 site라든지, 논문이라든지, open source 라든지 아무거나 다 됩니다. ^^a 간절히 부탁드립니다.
개념이랄까.. 전반적인 내용이라도 가르쳐 주시면 감사하겠습니다.
web Crwaler 부분은 친구가 하고 저는 모은 정보를 사용자에게 보여주는 부분을 구현하려고 합니다. 한글화는 천천히 생각하고 영어부터 생각중입니다.
큰 스케일이 아니라, 공부하면서 할수있는 정도의 스케일입니다.
(참고로 언어는 C++로 할까 생각중입니다.)
Forums:
잘은 모르지만...
음냐. 검색 엔진을 만들어 보지는 않았습니다만...제가 작업하고 있는 내용을
공부하다 보니...검색 엔진도 비슷한 분야 같습니다만.
음냐.
자연어 처리쪽과 AI 쪽을 참고하시길.
Java를 사용하신다면
자바언어를 사용하신다면, lucene을 추천합니다.
url은 lucene.apache.org였던것 같고, 구글에서 대충검색해도 찾으실 수 있을것같네요. 기본 골격은 아주(?) 확실하게 되어있으므로, 학습에 사용하시기에도,상용(?) 이건 라이센스를 고려해야 할테고, 또는 내부 루틴분석에도 유리한 듯합니다.
처음 접하시면 한글화가 문제되는데(한글 색인 및 검색) 한글화하는것도 그리 어려운 작업은 아니기에 권해드리는 바입니다. (다국어지원 Design pattern중 팩토리패턴사용)
프로그램 소스도 비교적 잘 정돈되어 있습니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
Re: web search engine 만들려고 하는데요
어느 정도의 규모인지 고려하는 것이 제일 중요한 것 같습니다. 또, 어떤 용도인지... 일단, 크게, 로봇이 웹을 읽어오는 부분, 웹에서 읽어온 정보를 DB로 만드는 것 의 두가지로 나눌 수 있습니다. 특히 중요한 것은 두 번째 인데, 어느 정도 수준으로 만드는 가에 따라서 천차만별입니다. 특히, 제대로 된 한글 처리를 한다고 한다면, 장난이 아닙니다. 꽤 많은 노력이 들껍니다. 대충 들어가 있는 단어만 찾는다면야, 또 아주 간단합니다. 그럼 고운 하루되시길...
=========================
CharSyam ^^ --- 고운 하루
=========================
Re: Java를 사용하신다면
url은 jakarta.apache.org/lucene이고, 저도 역시 추천합니다. 인텍싱 속도도 빠르고 소스도 깔끔한 편입니다.
단 한글 Analyzer가 구현된게 없다는 단점이 있는데, 이는 어렵지 않게 만들 수 있고 또 없어고 StopAnalyzer를 쓰면 크게 문제되지 않습니다.
그럼...
----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...
검색엔진 자료모음
마소 잡지에서 검색엔진에 관해서 다루어 진 부분인데.
쪽지 주시면 메일로 보내 드리지요..
/1997_02월호/원리구현/C파워 프로그래밍/신문 검색 시스템, NRS[1]
/1997_03월호/원리구현/C 파워프로그래밍[마지막회]/신문검색시스템[2]
/1997_09월호/원리구현/인텔리 전트 웹에이전트[1]/정보검색과 정보여과 기술의이해
/1998_08월호/원리구현/웹서버 강화 프로젝트/인덱스 서버로 자신만의 검색 엔진을 달자/M19980801-인덱스
/2000_01월호/특집/21세기를 열어갈 2000년의 기술/에이전트/정보검색에서 지식검색과 에이전트 시대로/M200001- 에이전트
/2000_03월호/기획연재/밀레니엄 시대의 정보 검색 방법론/M20000302-기획연재
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트1 검색엔진의 과거와 현재 그리고 미래/특집1부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트2 차세대 검색엔진의 핵심 기술 공략/특집2부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트3 최강의 검색엔진을 분석하라/특집3부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트4 검색엔진 구축 시나리오/특집4부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트5 검색엔진 기술의 현 주소와 나아갈 방향/특집5부
/2000_04월호/기획연재/자연어 질의 검색 시스템 구현/M200004-기획연재
/2000_05월호/기획연재/신정보 검색 시스템 구현기 3/문서 자동 요약시스템 구현/0005-424
/2000_06월호/기획연재,신정보 검색 시스템 구현기 4/검색시스템 완성도 높이기/0006-378
/2000_10월호/기획연재/정보 검색엔진의 현주소와 나아갈 길/텍스트 정보 검색의 실체를 벗겨라/M20001003-기획연재
/2001_01월호/특별기고/멀티미디어정보검색의실체와그활용/0101-396
/2001_02월호/기획연재/디지털미디어통합검색의의미와활용/0102-330
/2001_10월호/마소 Jr/Watch Up/VB로 도전하는 웹 페이지 검색 프로그램 1/모듈과 프로시저 프로그래밍의 기초 다지기/0110-Jr32
/2001_11월호/마소 Jr/Watch Up/VB로 도전하는 웹 페이지 검색 프로그램 2/웹 브라우저에 다양한 기능 추가하기/0111-jr40
/2001_12월호/마소Jr/Watch Up/VB로 도전하는 웹 페이지 검색 프로그램 3/MDI를 사용한 다중 웹 브라우저 만들기/0112-jr62
/2002_01월호/실전! 강의실/미생물의 서열 DB 웹 서비스 만들기 2/미생물의 서열 데이터베이스 검색 프로그램/0201-332
/2002_07월호/마소 jr/How/객체 7, 객체지향 데이터베이스로 쉽게 저장하고 검색하자/0207-jr34
/2002_11월호/실전강의실/한걸음씩 다가가는 시맨틱 웹 4/시맨틱 웹 기반의 검색 애플리케이션 TAP/0211-393
살짝 광고 ^^
마소 목차검색기
http://www.ezdoum.com/q.php?gubun1=%C0%FC%C3%BC&keyword=%B0%CB%BB%F6&keygb=AND&o=id
울랄라~ 호기심 천국~!!
http://www.ezdoum.com
Re: web search engine 만들려고 하는데요
첫번째 부분도 중요합니다. :x 잘 못 짤 경우엔 여러 곳에 민폐를 끼치게 되죠. 첫 부분이 엉터리은 n*ver나 e*pas 로봇 때문에 때때로 시스템에 heavy load가 걸리는 모습을 보면..
Re: web search engine 만들려고 하는데요
흐... cdpark 님 말씀대로 첫번째 부분도 중요합니다. ^^ 흐... 저는 검색엔진
에 대해서만 생각하다보니, 민폐에 대해서는 생각이 짧았네요. 둘다 중요합니다.
그럼 고운 하루...
=========================
CharSyam ^^ --- 고운 하루
=========================
ht//Dig은 어떨까요.? 제가 예전에 이런거 장사 할려고 한번 보던
ht//Dig은 어떨까요.? 제가 예전에 이런거 장사 할려고 한번 보던 것인데 한번 참조하십사 하고 링크 걸어 드립니다.
http//www.htdig.org/
즐거운 하루 되세요.
Re: Java를 사용하신다면
보다 진보적인 검색(한국어 또는 한국실정에 맞는...) 을 원하신다면, 기존 영문권 Analyzer에 한글처리루틴을 넣으시고, 형태소분석기를 도입하는 것도 방법이겠습니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
Re: Java를 사용하신다면
Lucene에 보면 영어, 러시아어, 독일어 Analyzer 클래스가 따라나오는데, 우리말의 경우에도 누가 구현해 놓은게 있는지 궁금하네요... 검색엔진 전체를 만드는 것이 어렵다면 오픈소스 형태로 Analyzer 정도를 만들어서 Lucene에 추가하는 것도 의미있는 일인 것 같습니다.
----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...
Re: Java를 사용하신다면
누군가(?) 제게 해준 말로는 몇몇회사(기억안남 :( )에서 이를 한글가능하게
하고 서버골격(framework) 및 crawler등을 제작해서 상용으로 쓴다고
하더군요. 아직 공개해준 사람(?) 또는 회사(?)는 없는것 같구요.
단지 한글만 되게 하는것이라면, javacc를 이용해 코딩하면 아주 단순하고요.
특정 형태소분석기에 맞추는 작업은 고민할게 몇가지 있지만, 시도한다면
아주 쉽게 되더군요. (제가 잘하는게 아니라, lucene구조가 잘되어있어서요 8) )
아쉽게도 제가 했던 작업은 공개하기가 현재 어렵습니다. 회사 업무로
한것은 아니지만, 회사의 제품분야가 그쪽이고, 심심해서 했어도. 그 회사
소속으로 있을때 한것이라서요. 한 몇달지나면 모를까?
하여간 님의 말씀처럼 의욕이 있으신 분이 계시다면, 저도 약소하나마 보탬을
드릴수도 있겠습니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
작업을 시작하는 팀이 있네요.
http://freesearch.pe.kr/581
PHP 한글 형태소 분석기 소개
http://lab.zagia.com
도움되시길 바랍니다
...
음...
저도 웹크롤러에 몇일간의 관심으로 나름대로 알아본 내용을 알려드리겠습니다.
※ 자료구조, 화일처리론, 데이터베이스 독파
- 기본적인 것들이 바탕이 되어야 진행하면서 다시 원점으로 돌아올 일이 없음. <트리, b+tree, trie, hash>
☞ [컴퓨터연구정보센터] 및 국내외 연구논문을 찾아 볼것.
- 약식논문들이 많아서 많은 정보를 얻기는 힘들지만, 전체윤과내지 방향을 잡는데 도움이 됨.
☞ 한정된 분야<웹검색, 웹크롤러, 검색엔진>로의 접근보다는 다양한 분야<자연어처리, 형태소분석, 컴파일러, 어휘분석>에서 접근해봄.
☞ P2P를 이용함. 프루나, 당나귀...등이 가끔 유용할때가 있음.
필요없는 자료도 많지만 이따금 월척도 걸린다.
Hello World.
이런일이...
음 오래전 글이 리바이벌되었네요 ㅎㅎ
저는 Lucene을 관심있게 보아왔습니다.
현재, C++, C, C# 등으로 포팅되었거나, 진행중이더군요.
* search
http://jakarta.apache.org/lucene/docs/index.html
http://www.nutch.org/blog/cutting.html
http://sourceforge.net/projects/clucene/
http://electricjellyfish.net/garrett/lucene4c/
http://lucenedotnet.com/
http://www.nutch.org/docs/en/about.html
* crawl
http://www.monkey.org/~provos/crawl/
*misc
wget
htdig
curl
...
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
Lucene and Nutch
Lucene의 창설자인 Doug Cutting의 TSS
인터뷰 입니다.
Lucene이 엔진이라면, Nutch는 하나의 어플리케이션입니다. 리눅스에서 tomcat WebApp로 설정하는 하는 방법이 tutorial에 있습니다.
----
I paint objects as I think them, not as I see them.
atie's minipage
이전에 검색엔진 하면 잉크토미 였는데...망했죠(망하면서 소스가 공개되었
이전에 검색엔진 하면 잉크토미 였는데...망했죠(망하면서 소스가 공개되었을지도...)..암턴 각설하고..
검색엔진은 일단 웹페이지를 긁어오는것부터 시작합니다.흔히 crawler라고 불리우며 우리가 알고 있기로는 검색엔진로봇(이하)이라고 알고 있습니다.
검색엔진 로봇이 서버에 상당한 부하를 준다고 잘못 알고 계신분이 많은것 같네요.물론 일부 몰상식한 webzip류의 특정 목적을 위한 프로그램들은 부하를 주는것은 맞지만 메이저 업체들은 그렇게 몰상식 하지는 않답니다.그리고 시간을 중요하게 여기기 때문에 한곳에 죽치고 사이트를 crawling할 여유가 없답니다.예를 들어 5000개의 사이트가 있다면 한곳 전체 crawling하고 다음사이트 crawling하고 이런게 아니고 1개 사이트에서 몇페이지만 crawling 그리고 다음사이트..다음번에는 마지막 받았던 페이지에서 시작 또다시 crawling한후 추가..(그렇기 때문에 간혹 검색엔진에서 검색하고 클릭하고 보니 페이지가 뜨지 않거나 내용이 없는경우도 발생합니다.데이터가 오래되었거나 crawling cycle이 길거나 하기 때문이죠)
crawling다음에는 키워드를 선정해야 되는데..이게 또 골때립니다.HAM같은것을 사용해서 뽑아도 되겠죠(유료였던가?)..키워드 추출기..그리고 유사키워드도 생각해줘야 합니다.(이건 뭐 하루에 등록되는 키워드가 충분히 적다면 수작업으로 한후 push해도 되겠네요.개인적인 생각입니다.ㅋ)
그 키워드들을 가지고서 이제 publish를 합니다.간단히 얘기해서 미리 검색조건들을 생각해서 페이지를 찍어놓는다고 생각하시면 됩니다.아마 데이터 베이스에서 실시간검색으로 처리한다면 바로 뻗어버릴겁니다.ㅋㅋ...키워드 추출과 publish 이게 관건입니다..
마지막으로 crawling한 데이터를 기반으로 많은 컨텐츠 부산물을 뽑아 낼수가 있습니다..즉 이미지만 뽑아내서 이미지검색 서비스를 하신다던지 하는...
그럼 좋은 주말 되십시오.
도움이 되실런지...[텍스트마이닝] 구글 검색 엔진의 해부학
도움이 되실런지...
[텍스트마이닝] 구글 검색 엔진의 해부학 이명헌
http//www.emh.co.kr/xhtml/google_search_engine.html
[텍스트마이닝] 구글 페이지랭크(PageRank) 알고리듬 이명헌
http//www.emh.co.kr/xhtml/google_pagerank_citation_ranking.html
[텍스트마이닝] 링크 구조 기반 검색 앨거리듬, HITS 이명헌
http//www.emh.co.kr/xhtml/hubs_and_authorities.html
마소자료 부탁드립니다.
안녕하십니까? 님이 올려주신 글 잘 읽어보았습니다.
아래 자료를 가지고 계신다고 했죠? ^^
최근에 검색엔진을 공부하고 있는데 제게도 자료를 좀 보내주시면 안 될까요?
아래 리스트 모두가 부담스러우시면 몇개라도...
부탁드리겠습니다.
그럼 안녕히 계십시오.
메일주소는 sasil4@edms.co.kr
/1997_02월호/원리구현/C파워 프로그래밍/신문 검색 시스템, NRS[1]
/1997_03월호/원리구현/C 파워프로그래밍[마지막회]/신문검색시스템[2]
/1997_09월호/원리구현/인텔리 전트 웹에이전트[1]/정보검색과 정보여과 기술의이해
/1998_08월호/원리구현/웹서버 강화 프로젝트/인덱스 서버로 자신만의 검색 엔진을 달자/M19980801-인덱스
/2000_01월호/특집/21세기를 열어갈 2000년의 기술/에이전트/정보검색에서 지식검색과 에이전트 시대로/M200001- 에이전트
/2000_03월호/기획연재/밀레니엄 시대의 정보 검색 방법론/M20000302-기획연재
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트1 검색엔진의 과거와 현재 그리고 미래/특집1부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트2 차세대 검색엔진의 핵심 기술 공략/특집2부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트3 최강의 검색엔진을 분석하라/특집3부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트4 검색엔진 구축 시나리오/특집4부
/2000_03월호/특집/인터넷 세상 검색엔진이 주도한다/파트5 검색엔진 기술의 현 주소와 나아갈 방향/특집5부
/2000_04월호/기획연재/자연어 질의 검색 시스템 구현/M200004-기획연재
/2000_05월호/기획연재/신정보 검색 시스템 구현기 3/문서 자동 요약시스템 구현/0005-424
/2000_06월호/기획연재,신정보 검색 시스템 구현기 4/검색시스템 완성도 높이기/0006-378
/2000_10월호/기획연재/정보 검색엔진의 현주소와 나아갈 길/텍스트 정보 검색의 실체를 벗겨라/M20001003-기획연재
/2001_01월호/특별기고/멀티미디어정보검색의실체와그활용/0101-396
/2001_02월호/기획연재/디지털미디어통합검색의의미와활용/0102-330
/2001_10월호/마소 Jr/Watch Up/VB로 도전하는 웹 페이지 검색 프로그램 1/모듈과 프로시저 프로그래밍의 기초 다지기/0110-Jr32
/2001_11월호/마소 Jr/Watch Up/VB로 도전하는 웹 페이지 검색 프로그램 2/웹 브라우저에 다양한 기능 추가하기/0111-jr40
/2001_12월호/마소Jr/Watch Up/VB로 도전하는 웹 페이지 검색 프로그램 3/MDI를 사용한 다중 웹 브라우저 만들기/0112-jr62
/2002_01월호/실전! 강의실/미생물의 서열 DB 웹 서비스 만들기 2/미생물의 서열 데이터베이스 검색 프로그램/0201-332
/2002_07월호/마소 jr/How/객체 7, 객체지향 데이터베이스로 쉽게 저장하고 검색하자/0207-jr34
/2002_11월호/실전강의실/한걸음씩 다가가는 시맨틱 웹 4/시맨틱 웹 기반의 검색 애플리케이션 TAP/0211-393
댓글 달기