8. 간단한 검색 이론(?)!
!
“반지”라는 단어를 포함하고 있는!
톨킨의 작품 목록을 구하려면?
8
9. Grep “반지” *
• 모든 작품에 대해 grep을 실행합니다.!
• 해당 단어를 가진 작품을 출력합니다.!
!
• 수백만 건의 문서에 대해 매번 같은 일을 한다면?
Oops…
9
10. 역 인덱스 (inverted index)
• 모든 작품 텍스트에서 단어들을 추출하여 저장!
• 각 단어에 대해, 그 단어가 포함된 작품의 id를 기
록
10
단어 작품 출현 빈도 작품 id
Ring 5 1, 2, 3, 4, 5
Middle-Earth 4 1, 3, 4, 5
Gollum 4 2, 3, 4, 5
40. 인덱스 설계
• 인덱싱 할 테이블과 컬럼을 확인!
• xe_documents!
• xe_modules!
• xe_comments!
• 원본 데이터를 어떤 형식으로 저장할 것인지 결정!
• 게시글과 덧글을 구분 해야 하나?!
• 주로 어떤 쿼리를 날릴 것인가?
40
45. JDBC Plugin (4)
45
SELECT
d.document_srl as `_id`,
d.document_srl as `article.document_srl`, ...
m.mid as `module.mid`, ...
c.comment_srl as `comments[comment_srl]`, ...
FROM
xe_documents as d
INNER JOIN
xe_modules as m on d.module_srl = m.module_srl
INNER JOIN
xe_comments as c on c.module_srl = m.module_srl
AND
c.document_srl = d.document_srl;