정적 콘텐츠(HTML, TXT, MD 파일) 및 동적 메모에 대한 빠르고 효율적인 검색 기능을 제공하도록 설계된 가볍고 데이터베이스가 없는 검색 엔진입니다. 이 프로젝트는 검색 검색 속도를 높이고 서버 로드를 줄이며 서비스 워커를 통해 오프라인 기능을 제공하는 클라이언트 측 캐싱 시스템으로 사용자 경험을 향상시킵니다.
클라이언트 측 캐시 기반 검색 엔진
1. 홈 화면
2. 검색결과
3. 오프라인 접속
4. 메모 기능
캐시 디렉터리 설정
캐시 만료
목차
개요
특징
작동 방식
시스템 아키텍처
설치
용법
구성
스크린샷
향후 개선 사항
특허
클라이언트 측 캐시 기반 검색 엔진은 특히 소규모 애플리케이션의 경우 기존 데이터베이스 기반 시스템의 느린 검색 시간 문제를 해결하는 것을 목표로 합니다. 클라이언트 측 캐싱 기술을 활용함으로써 이 프로젝트를 통해 반복적인 서버 쿼리나 복잡한 데이터베이스 설정 없이도 정적 콘텐츠와 사용자 생성 메모에 빠르게 액세스할 수 있습니다. 또한 오프라인 검색 기능도 탑재해 네트워크 연결 없이도 자주 사용하는 파일과 메모에 접근할 수 있다.
빠른 검색 : 로컬 정적 파일(HTML, TXT, MD) 및 사용자 생성 메모에서 콘텐츠를 빠르게 색인화하고 검색합니다.
클라이언트 측 캐싱 : 자주 액세스하는 파일을 로컬로 캐시하여 로드 시간을 줄이고 서버 요청을 최소화합니다.
오프라인 접속 : 통합 서비스 워커를 통해 사용자는 오프라인에서도 파일과 메모를 검색하고 접속할 수 있습니다.
메모 관리 : 사용자가 빠른 검색을 위해 캐시된 메모를 생성, 편집 및 저장할 수 있는 간단한 메모 작성 애플리케이션이 포함되어 있습니다.
파일 인덱싱 : 지정된 디렉터리의 파일은 첫 번째 검색 시 인덱싱되고 캐시되어 더 빠른 액세스가 가능합니다.
클라이언트 측 캐싱 : 인덱싱된 콘텐츠는 캐시에 저장되므로 검색 엔진이 자주 액세스하는 파일에 대한 파일 읽기를 건너뛸 수 있습니다.
서비스 워커 : 서비스 워커는 필수 파일을 캐시하고 오프라인 지원을 제공하여 인터넷 연결 없이도 메모와 정적 콘텐츠를 사용할 수 있도록 합니다.
실시간 검색 : 동적 노트는 생성 직후 캐시되므로 온라인과 오프라인 모두에서 즉시 액세스할 수 있습니다.
이 시스템은 클라이언트측 캐싱 및 서비스 작업자 모델을 중심으로 설계되어 데이터베이스가 필요하지 않습니다. 단순화된 아키텍처는 다음과 같습니다.
그래프 TD
UI[사용자 인터페이스] -->|검색 요청| 검색엔진
SearchEngine -->|캐시 히트?| 은닉처
캐시 -->|예| RetrieveFromCache[캐시에서 검색]
RetrieveFromCache --> DisplayResults
검색 엔진 -->|아니요| ReadFile[디렉터리에서 파일 읽기]
ReadFile --> IndexContent[인덱스 및 캐시 콘텐츠]
IndexContent --> 캐시
IndexContent --> DisplayResults[결과 표시]
ServiceWorker[서비스 워커] --> 오프라인지원
노트[노트 저장] --> 캐시
참고 --> ServiceWorker
로드 중프로젝트를 로컬로 설정하려면 다음 단계를 따르세요.
저장소 복제
자식 복제 https://github.com/vansh-codes/Client-Side-Cache-Based-Search-Engine.git
디렉토리로 이동
cd 클라이언트 측 캐시 기반 검색 엔진
XAMPP 또는 로컬 PHP 서버 설정
프로젝트를 적절한 XAMPP 디렉터리(예: C:/xampp/htdocs/
)에 배치합니다.
아파치 서버를 시작합니다.
프로젝트에 액세스하십시오. 브라우저를 열고 http://localhost/Client-Side-Cache-Based-Search-Engine
으로 이동하십시오.
콘텐츠 검색 : 검색창을 사용하여 색인화된 파일 및 노트 내에서 키워드를 찾으세요.
메모 작성 : 빠른 액세스와 오프라인 사용을 위해 캐시되는 메모를 만들고 저장합니다.
오프라인 접속 : 최초 접속 이후에는 서비스워커를 이용하여 오프라인으로 파일 및 노트에 접속할 수 있습니다.
구성 파일에서 콘텐츠 및 메모 저장에 대한 디렉터리 경로를 설정합니다.
CACHE_DIR
: 캐시된 파일을 저장할 경로입니다.
콘텐츠 폴더 : content/
디렉터리 아래의 정적 파일 경로를 수정합니다.
Notes 폴더 : notes/
디렉토리 아래의 동적 메모 경로를 수정합니다.
캐시 만료 설정을 조정하여 오래된 파일을 지우고 필요에 따라 콘텐츠를 새로 고칩니다.
고급 검색 기능 : 보다 직관적인 검색을 위해 퍼지 검색 및 키워드 강조 표시를 구현합니다.
향상된 캐시 관리 : 더 나은 스토리지 관리를 위해 캐시 만료 정책을 도입합니다.
다중 형식 메모 작성 : 추가 메모 형식(TXT, MD, HTML)을 지원하고 더 빠른 검색을 위해 자동으로 캐시합니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
빠르고 효율적이며 오프라인이 가능한 검색을 즐겨보세요!