안녕하세요. 언제나휴일입니다.
앞에서 수집할 웹 페이지 후보 테이블(Candidate)와 수집한 웹 페이지 테이블(WebPage)을 만들었어요.
1. Morpheme – 형태소 테이블 만들기
CREATE TABLE [dbo].[Morpheme] ( [mid] INT IDENTITY (1, 1) NOT NULL, [word] VARCHAR (50) NOT NULL, PRIMARY KEY CLUSTERED ([mid] ASC), CONSTRAINT [WU] UNIQUE NONCLUSTERED ([word] ASC) );
형태소 테이블에는 형태소(word)와 일련 번호(mid)를 멤버로 갖습니다.
일련 번호를 주요 키로 설정하고 형태소는 유일하게 제약 조건을 추가하였습니다.
2. Inverse – 역(파일) 테이블 만들기
수집한 웹 페이지가 많아지면 검색 질의를 모든 웹 페이지 내용과 비교하는 것은 매우 많은 시간을 요구합니다. 짧은 시간에 검색이 가능하게 하기 위해 질의에 있는 단어에 해당하는 형태소 테이블의 mid를 구합니다. 그리고 Inverse 테이블에 mid로 어느 웹 페이지(wid)에 있는지 확인합니다.
이처럼 포함하는 웹 페이지의 내용과 비교하여 검색하는 것이 아니라, 단어에서부터 어느 웹 페이지에 해당 단어가 있는지 검색하여 역파일이라고 부릅니다.
CREATE TABLE [dbo].[Inverse] ( [wid] INT NOT NULL, [mid] INT NOT NULL, [rcnt] INT NOT NULL, CONSTRAINT [FK_Inverse_News] FOREIGN KEY ([wid]) REFERENCES [dbo].[WebPage] ([wid]), CONSTRAINT [FK_Inverse_Morpheme] FOREIGN KEY ([mid]) REFERENCES [dbo].[Morpheme] ([mid]) );
역파일 테이블에는 형태소 일련 번호(mid), 웹 페이지 일련 번호(wid)를 갖습니다. 이는 외래키로 관계를 설정합니다.
그리고 웹 페이지 내에 해당 형태소가 몇 번 나오는 지 참조 개수(rcnt)를 멤버로 갖습니다.