본문 바로가기

IT이야기

검색엔진 관련 자료

목차
 1. 검색엔진의 역사    6
 2. 정보검색시스템의 구성요소    8
 2.1. 정보검색시스템이란?    8
 2.2. 배경학문    8
 2.3. 구성요소    8
 3. 검색 기법    13
 3.1. Exact match techniques(완전일치 기법)    13
 3.2. Partial match techniques(부분일치 기법)    13
 3.3. Network(네트워크 모델)    15
 3.4. Feedback Methods(피드백 기법)     16
 4. 검색엔진 구조도    18
 5. 색인기 구조도    20
 6. 검색기 구조    23
 7. 웹 로봇을 개발하자 - 개요    24
 7.1. 개요    25
 7.2. 웹 로봇의 구성요소    26
 8. 웹 로봇을 개발하자 ? HTML Parser    28
 9. 웹 로봇을 개발하자 - HTTP 프로토콜에 대해    38
 9.1. HTTP 명세    38
 9.2. Telnet을 이용한 HTTP 응답 확인    43
 10. 웹 로봇을 개발하자 - 소켓 프로그래밍    45
 11. 웹 로봇을 개발하자 - 로봇 배제 표준    49
 11.1. 검색엔진에서 내 홈페이지가 검색당하지 않도록 쓰는 방법    49
 11.2. robots.txt 작성방법    49
 12. 웹 로봇을 개발하자 - 기본 자료구조    52
 12.1. dynamic array    52
 12.2. array-base tree    56
 12.3. array-based trie    58
 13. 웹 로봇을 개발하자 - 소켓 타임아웃에 대해    62
 13.1. 필요성     62
 13.2. 정책     63
 13.3. 방법은?     63
 14. 웹 로봇을 개발하자 - 멀티 쓰레드 로봇    68
 14.1. 화면 설명    68
 14.2. 기본 자료구조    69
 14.3. 수집 시작 루틴    72
 14.4. 쓰래드 처리    75
 14.5. 대용량 웹 로봇을 위해서는?    78
 15. 웹 로봇을 개발하자 - 대용량 웹 로봇 설계    80
 15.1. 전체 시스템 구조    80
 15.2. group table    80
 15.3. newurl table    81
 15.4. timeout table    82
 15.5. thread info    82
 15.6. host policy    83
 15.7. type1 (main thread)    83
 15.8. type2 (normal processing thread)    83
 15.9. type3 (timed out processing thread)    84
 15.10. type4 (alarm thread)    84
 15.11. type5 (robot communication thread)    84
 15.12. type6 (management thread)    85
 15.13. 기타    85
 15.14. Group Table 구조    85
 15.15. UrlTree 구조    85
 15.16. DNS    85
 15.17. DNS Protocol    87
 15.18. 2차 로봇    92
 16. 검색엔진 개발 실습    94
 17. 엔진 개발 실습 -모델링    95
 17.1. 개요    95
 17.2. 순위부여 모델과 실험    95
 17.3. 벡터 공간 모델    96
 18. 엔진 개발 실습 - Term Weight에 대하여    98
 18.1. 문서의 중요도    98
 18.2. 문서를 어떻게 수치화할 것인가?    99
 18.3. 텀의 가중치를 어떻게 계산하는가?    99
 18.4. 문헌의 가중치는?    101
 18.5. 용어 정리    101
 19. 형태소 분석    102
 20. 엔진개발 실습 - 색인 DB 구조 #1    103
 20.1. 색인 DB란 무엇인가?    103
 20.2. 무엇을 색인 DB화 할 것인가?    103
 20.3. 어떻게 구축할 것인가?    105
 21. 엔진개발 실습 - 색인 DB 구조 #2    109
 21.1. 어떻게 구축할 것인가.    109
 21.2. 확장된 검색기능을 제공하기 위한 DB 구축 방법은?    112
 21.3. 기타    113
 22. 엔진개발 실습 - 메모리 관리정책    115
 22.1. 메모리에 상주시킬 데이터들은?    115
 22.2. 쓰래드들이 사용할 메모리는?    117
 22.3. 메모리로 캐시를 구축할 것인가?    118
 23. 엔진개발 실습 ? 논리 연산 처리방법    119
 23.1. 기본 개념    119
 23.2. 입력되는 질의 형태    120
 23.3. 질의 파싱 및 보정    121
 23.4. 결과 처리    123
 24. 엔진개발 실습 ? 빠른 논리 연산방법    124
 24.1. 논리 연산 시 비교 방법들    124
 24.2. 해시 테이블을 사용한 비교 방법    125
 24.3. 포스팅 파일을 어떻게 구축할 것인가?    125
 24.4. 그 외의 고려사항    126
 25. 엔진개발 실습 - 빠른 소팅 방법    127
 25.1. min-heap을 사용한 소팅 방법    127
 25.2. Sorted Map에 대하여    128
 25.3. 결론    130
 26. 동적색인 시스템 구성에 대해    132
 27. 동적 색인 시스템 개요    133
 27.1. 동적 색인 시스템이란?    133
 27.2. 색인 시스템의 분류    133
 27.3. 동적 색인 시스템의 주요 이슈    134
 27.4. 발전 방향    135
 28. 파일 시스템 구축 ? 개요    136
 28.1. 왜 파일 시스템을 구축해야 하는가?    136
 28.2. 파일 시스템 구조    136
 28.3. Level 0 : Physical I/O Layer    138
 28.4. Level 1 : Buffer Manager    139
 28.5. Level 2 : Storage Structures    139
 28.6. Level 3 : Access Methods    140
 28.7. 시스템 평가    140
 28.8. 향후 계획    140
 29. 파일 시스템 구축 - #1 볼륨 구조    141
 29.1. 개요    141
 29.2. 볼륨의 기본 구조    142
 29.3. 볼륨 헤더의 데이터 구조    144
 29.4. 구현 알고리즘    146
 29.5. 향후 계획    150
 30. 파일 시스템 구축 - #2 버퍼 구조    151
 30.1. 개요    151
 30.2. 버퍼의 데이터 구조    151
 30.3. 버퍼 운영 정책    152
 30.4. 구현 알고리즘    153
 30.5. 향후 계획    157
 31. 동적색인에 대해서 #1    158
 32. 검색엔진에 압축은 필수?    160
 33. 파일 시스템 구축 - #3 디렉토리 구조    162
 33.1. 개요    162
 33.2. 디렉토리 페이지 구조    163
 33.3. Trie 페이지 구성    164
 33.4. 파일 디스크립터 페이지 구성    164
 33.5. 메모리 구조    165
 33.6. 파일 생성 절차    167
 33.7. 파일 소멸 절차    167
 33.8. 향후 계획    168
 34. 파일 시스템 구축 - #4 인덱스 파일 구조    169
 34.1. 개요    169
 34.2. 인덱스 파일의 내부 구조    169
 34.3. 루트 페이지 구조    170
 34.4. 노드 페이지 구조    172
 34.5. 리프 페이지 구조    172
 34.6. 구현 알고리즘     173
 34.7. 향후 계획    179
 35. 파일 시스템 구축 - #5 바이너리 파일 구조    180
 35.1. 개요    180
 35.2. 바이너리 파일의 내부 구조    180
 35.3. 바이트 파일에 데이터 쓰기    182
 35.4. 응용    184