Легкая поисковая система без базы данных, предназначенная для обеспечения быстрого и эффективного поиска статического контента (файлы HTML, TXT, MD) и динамических заметок. Этот проект улучшает взаимодействие с пользователем с помощью системы кэширования на стороне клиента, которая ускоряет поиск при поиске, снижает нагрузку на сервер и предлагает автономные функции через сервис-воркеров.
Клиентская поисковая система на основе кэша
1. Главный экран
2. Результаты поиска
3. Автономный доступ
4. Функция ведения заметок
Настройки каталога кэша
Срок действия кэша
Оглавление
Обзор
Функции
Как это работает
Системная архитектура
Установка
Использование
Конфигурация
Скриншоты
Будущие улучшения
Лицензия
Поисковая система на основе кэша на стороне клиента призвана решить проблему медленного поиска в традиционных системах, управляемых базами данных, особенно для небольших приложений. Используя методы кэширования на стороне клиента, этот проект обеспечивает быстрый доступ к статическому контенту и созданным пользователем заметкам без необходимости повторных запросов к серверу или сложной настройки базы данных. Он также имеет возможности автономного поиска, позволяя пользователям получать доступ к часто используемым файлам и заметкам даже без подключения к сети.
Быстрый поиск : быстро индексирует и извлекает контент из локальных статических файлов (HTML, TXT, MD) и созданных пользователем заметок.
Кэширование на стороне клиента : часто используемые файлы кэшируются локально, что сокращает время загрузки и минимизирует запросы к серверу.
Автономный доступ : встроенный сервисный работник позволяет пользователям искать и получать доступ к файлам и заметкам в автономном режиме.
Управление заметками : включает простое приложение для создания заметок, позволяющее пользователям создавать, редактировать и сохранять заметки, которые также кэшируются для быстрого поиска.
Индексирование файлов : файлы в назначенных каталогах индексируются при первом поиске и кэшируются для обеспечения более быстрого доступа.
Кэширование на стороне клиента : индексированный контент хранится в кеше, что позволяет поисковой системе пропускать чтение файлов для часто используемых файлов.
Service Worker : Service Worker кэширует важные файлы и обеспечивает автономную поддержку, делая заметки и статический контент доступными без подключения к Интернету.
Извлечение в реальном времени . Динамические заметки кэшируются сразу после создания, обеспечивая мгновенный доступ как онлайн, так и офлайн.
Система разработана на основе модели кэширования и сервисного работника на стороне клиента, что исключает необходимость в базе данных. Вот упрощенная архитектура:
график ТД
UI[Пользовательский интерфейс] -->|Поиск запроса| Поисковая система
SearchEngine -->|Попадание в кэш?| Кэш
Кэш -->|Да| RetriveFromCache[Извлечь из кэша]
Получить из кэша --> Отобразить результаты
Поисковая система -->|Нет| ReadFile[Читать файл из каталога]
ReadFile --> IndexContent[Содержимое индекса и кэша]
IndexContent --> Кэш
IndexContent --> DisplayResults[Показать результаты]
ServiceWorker[Service Worker] --> OfflineSupport
Заметки[Хранилище заметок] --> Кэш
Примечания --> Сервисворкер
ЗагрузкаВыполните следующие действия, чтобы настроить проект локально:
Клонировать репозиторий
git-клон https://github.com/vansh-codes/Client-Side-Cache-Based-Search-Engine.git
Перейдите в каталог
cd Поисковая система на основе кэша на стороне клиента
Настройте XAMPP или локальный PHP-сервер
Поместите проект в соответствующий каталог XAMPP (например, C:/xampp/htdocs/
).
Запустите сервер Apache.
Доступ к проекту Откройте браузер и перейдите по адресу http://localhost/Client-Side-Cache-Based-Search-Engine
.
Поиск по содержимому : используйте панель поиска для поиска ключевых слов в проиндексированных файлах и заметках.
Ведение заметок : создавайте и сохраняйте заметки, которые будут кэшироваться для быстрого доступа и доступности в автономном режиме.
Автономный доступ : после первого доступа к файлам и заметкам можно получить доступ в автономном режиме с помощью сервис-воркера.
Задайте пути к каталогам для хранения контента и заметок в файле конфигурации:
CACHE_DIR
: путь для хранения кэшированных файлов.
Папка содержимого : измените путь для статических файлов в каталоге content/
.
Папка заметок : измените путь для динамических заметок в каталоге notes/
.
Настройте параметры срока действия кэша, чтобы удалять устаревшие файлы и обновлять содержимое по мере необходимости.
Возможности расширенного поиска : реализация нечеткого поиска и выделение ключевых слов для более интуитивного поиска.
Улучшенное управление кэшем . Внедрите политики истечения срока действия кэша для лучшего управления хранилищем.
Многоформатное ведение заметок : поддержка дополнительных форматов заметок (TXT, MD, HTML) и их автоматическое кэширование для более быстрого поиска.
Этот проект лицензируется по лицензии MIT. Подробности смотрите в файле ЛИЦЕНЗИИ.
Наслаждайтесь быстрым, эффективным и офлайн-поиском!