학교 내에는 다양한 부서, 학과, 동아리, 연구실, 행정실, 도서관 등 수많은 웹사이트가 존재합니다. 이들 사이트는 각기 다른 목적과 정보를 제공하며, 학생들과 교직원들이 필요한 정보를 신속하게 찾는 데 중요한 역할을 합니다. 그러나, 교내 웹사이트들의 수가 많아짐에 따라 특정 정보를 찾는 것이 점점 더 어려워지고 있습니다. 이러한 문제를 해결하기 위해 우리는 교내 전용 검색엔진을 구축하는 프로젝트를 졸업 작품으로 선택했습니다.
교내의 다양한 웹사이트들은 각각 개별적으로 운영되며, 통합된 검색 시스템이 없기 때문에 사용자가 필요한 정보를 찾기 위해 여러 사이트를 방문해야 하는 불편함이 있습니다. 예를 들어, 한 학생이 특정 학과의 강의 자료나 연구 논문을 찾고자 할 때, 해당 학과의 홈페이지뿐만 아니라 여러 관련 사이트를 일일이 방문하여 정보를 찾아야 합니다. 또한, 각 사이트는 검색 기능의 품질이 다르거나 아예 없어서 사용자 경험이 매우 불편할 수 있습니다.
이러한 문제는 다음과 같은 이유로 발생합니다:
- 분산된 정보: 교내 웹사이트들이 다양한 서버와 시스템에서 개별적으로 운영되고 있어 정보가 분산되어 있습니다.
- 비일관성: 각 웹사이트의 디자인, 검색 기능, 정보 구조가 다르기 때문에 사용자가 일관된 방식으로 정보를 찾기 어렵습니다.
- 정보 접근성 부족: 일부 중요한 정보가 특정 웹사이트에만 게시되어 있어 접근성이 제한될 수 있습니다.
본 프로젝트의 주요 목적은 교내의 다양한 웹사이트에서 제공하는 정보를 하나의 통합된 플랫폼을 통해 쉽게 검색하고 접근할 수 있도록 하는 것입니다. 이를 통해 교내 구성원들이 시간과 노력을 절약하면서 필요한 정보를 빠르게 찾을 수 있도록 지원하는 데 그 목적이 있습니다.
이 프로젝트를 통해 교내 검색엔진을 개발하고자 하는 이유는 다음과 같습니다:
- 효율성 향상: 학생, 교수, 교직원들이 교내 웹사이트에서 원하는 정보를 빠르고 쉽게 찾을 수 있게 함으로써, 정보 검색에 소요되는 시간을 절감할 수 있습니다.
- 정보 접근성 개선: 모든 교내 웹사이트의 정보를 통합하여 제공함으로써, 사용자는 하나의 검색창을 통해 모든 교내 정보를 접근할 수 있습니다. 이는 정보 접근성을 크게 향상시키는 결과를 가져올 것입니다.
- 사용자 경험 개선: 검색엔진을 통해 통합된 검색 결과를 제공하여, 사용자가 다양한 웹사이트를 일일이 방문할 필요 없이 한 곳에서 필요한 정보를 모두 얻을 수 있도록 합니다. 이는 사용자 경험을 크게 개선할 수 있습니다.
- 교내 자원 최적화: 학교의 모든 웹사이트를 크롤링하고 인덱싱함으로써, 학교가 제공하는 방대한 양의 정보 자원을 효율적으로 활용할 수 있습니다.
- 데이터 분석 기회 제공: 검색엔진을 통해 사용자들이 어떤 정보를 주로 검색하는지 분석함으로써, 학교는 학생들과 교직원들의 요구사항을 더 잘 이해하고 이에 맞춰 웹사이트 콘텐츠를 최적화할 수 있습니다.
- 시간 절약: 사용자들이 정보를 더 빠르게 찾을 수 있어 시간 절약이 가능합니다.
- 검색 효율성: 분산된 정보를 하나의 시스템에서 통합적으로 검색할 수 있어 검색 효율성이 높아집니다.
- 사용자 만족도 증가: 통합 검색 기능을 통해 사용자 경험이 향상되어, 학교의 디지털 자원 사용에 대한 만족도가 증가할 것으로 예상됩니다.
- 정보 활용도 증대: 사용자들이 쉽게 접근할 수 있게 됨에 따라 교내 웹사이트의 정보 활용도가 높아질 것입니다.
공지사항
- 국어교육과 - 사범대학 ✔
- 물리교육과 - 사범대학 ✔
- 영어교육과 - 사범대학 ✔
- 윤리교육과 - 사범대학 -> 권한 없음
- 지리교육과 - 사범대학 -> 권한 없음
- 디자인학과 - 융합과학대학 ✔
- 조형예술학과 - 융합과학대학 ✔
- 산림학과 - 농업생명환경대학 -> 권한 없음
- 서버에 mariadb 설치
- 필요한 디비,테이블 생성
- 서버에서 사용할 유저 생성과 권한 설정
- es 설치
- es 설정 yml 파일 수정 host, port, ssl 등
- mapping 생성
- 파이썬 패키지 설치
- requirements.txt를 이용해서 패키지 설치
- 크롤링 드라이버 설치
- 서버에 사용할 설정 .env 파일 생성
- 백엔드 코드 설정 포트번호등 (클라우드를 사용하지 않을 경우 공유기 포트포워딩)