반응형
안녕하세요. 언제나휴일입니다.
[빅데이터/빅데이터 with python] - [빅데이터 python] 웹 검색 엔진 만들기 - 1. 웹 검색 엔진 소개
[빅데이터/빅데이터 with python] - [빅데이터 python] 웹 검색 엔진 만들기 - 2. 형태소 및 Inverse 테이블 정의
[빅데이터/빅데이터 with python] - [빅데이터 python] 웹 검색 엔진 만들기 - 3. MorphemeSql 클래스 정의
이번에는 Inverse 테이블과 연동하는 InverseSql 클래스를 정의합시다.
1. 사용할 라이브러리
파이썬에서 MSSQL을 사용하려면 pymssql을 포함합니다.
데이터베이스와 연결하는 부분은 미리 작성한 SqlCon을 사용할 거예요.
import pymssql
from SqlCon import SqlCon
2. AddInverseItem - 역파일 요소 추가하기
제일 먼저 역파일 요소를 추가하는 메서드를 정의합시다.
class InverseSql:
@staticmethod
def AddInverseItem(wid,mid,rcnt):
cursor = SqlCon.Cursor()
추가 쿼리 문자열을 작성합니다.
query =str.format("Insert into Inverse(wid,mid,rcnt) values ({0},{1},{2})",wid,mid,rcnt)
쿼리를 실행하고 커밋을 수행하는 것을 시도합니다.
만약 예외가 발생하면 False를 반환하고 성공하면 True를 반환합니다.
try:
cursor.execute(query)
SqlCon.Commit()
except:
return False
else:
return True
3. FindInv - 역파일 요소 찾기
형태소 일련 번호로 역파일 요소를 찾는 메서드를 작성합시다. 이 메서드를 통해 특정 단어를 포함하는 웹 페이지를 검색하는 것이 가능합니다.
@staticmethod
def FindInv(mid):
검색 결과를 보관할 컬렉션을 생성합니다.
inv_col = list()
검색 쿼리 문자열을 작성하고 실행합니다.
cursor = SqlCon.Cursor()
query = str.format("Select wid,rcnt from Inverse where mid={0}",mid)
cursor.execute(query)
검색 결과를 컬렉션에 추가한 후 반환합니다.
row = cursor.fetchone()
while row:
inv_col.append(row)
row = cursor.fetchone()
return inv_col
4. 전체 코드
#InverseSql.py
import pymssql
from SqlCon import SqlCon
class InverseSql:
@staticmethod
def AddInverseItem(wid,mid,rcnt):
cursor = SqlCon.Cursor()
query =str.format("Insert into Inverse(wid,mid,rcnt) values ({0},{1},{2})",wid,mid,rcnt)
try:
cursor.execute(query)
SqlCon.Commit()
except:
return False
else:
return True
@staticmethod
def FindInv(mid):
inv_col = list()
cursor = SqlCon.Cursor()
query = str.format("Select wid,rcnt from Inverse where mid={0}",mid)
cursor.execute(query)
row = cursor.fetchone()
while row:
inv_col.append(row)
row = cursor.fetchone()
return inv_col
반응형
'빅데이터 > 빅데이터 with python' 카테고리의 다른 글
[빅데이터 python] 웹 검색 엔진 만들기 - 6. 수집 결과를 워드 클라우드로 나타내기 (0) | 2020.11.18 |
---|---|
[빅데이터 python] 웹 검색 엔진 만들기 - 5. 수집한 웹 페이지 형태소 분석 및 역파일 생성하기 (0) | 2020.11.17 |
[빅데이터 python] 웹 검색 엔진 만들기 - 3. MorphemeSql 클래스 정의 (0) | 2020.11.17 |
[빅데이터 python] 웹 검색 엔진 만들기 - 2. 형태소 및 Inverse 테이블 정의 (0) | 2020.11.17 |
[빅데이터 python] 웹 검색 엔진 만들기 - 1. 웹 검색 엔진 소개 (0) | 2020.11.17 |