반응형
안녕하세요. 언제나휴일입니다.
앞에서 수집할 웹 페이지 후보 테이블(Candidate)와 수집한 웹 페이지 테이블(WebPage)을 만들었어요.
[빅데이터/빅데이터 with python] - [빅데이터 python] 웹 수집 로봇 만들기 - 1. 테이블 정의
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)를 멤버로 갖습니다.
반응형
'빅데이터 > 빅데이터 with python' 카테고리의 다른 글
[빅데이터 python] 웹 검색 엔진 만들기 - 4. InverseSql 클래스 정의 (0) | 2020.11.17 |
---|---|
[빅데이터 python] 웹 검색 엔진 만들기 - 3. MorphemeSql 클래스 정의 (0) | 2020.11.17 |
[빅데이터 python] 웹 검색 엔진 만들기 - 1. 웹 검색 엔진 소개 (0) | 2020.11.17 |
[빅데이터 python] 형태소 분석기 만들기 - 3. 사용하기 (0) | 2020.11.16 |
[빅데이터 python] 형태소 분석기 만들기 - 2. MorphemeParser 클래스 정의 (0) | 2020.11.16 |