Un moteur de recherche léger et sans base de données conçu pour fournir des capacités de recherche rapides et efficaces pour le contenu statique (fichiers HTML, TXT, MD) et les notes dynamiques. Ce projet améliore l'expérience utilisateur avec un système de mise en cache côté client qui accélère la récupération des recherches, réduit la charge du serveur et offre des fonctionnalités hors ligne via des techniciens de service.
Moteur de recherche basé sur le cache côté client
1. Écran d'accueil
2. Résultats de la recherche
3. Accès hors ligne
4. Fonction de prise de notes
Paramètres du répertoire de cache
Expiration du cache
Table des matières
Aperçu
Caractéristiques
Comment ça marche
Architecture du système
Installation
Usage
Configuration
Captures d'écran
Améliorations futures
Licence
Le moteur de recherche basé sur le cache côté client vise à résoudre le problème des temps de récupération lents dans les systèmes traditionnels basés sur des bases de données, en particulier pour les applications à petite échelle. En tirant parti des techniques de mise en cache côté client, ce projet permet un accès rapide au contenu statique et aux notes générées par l'utilisateur sans avoir besoin de requêtes répétées sur le serveur ou d'une configuration de base de données complexe. Il propose également des fonctionnalités de recherche hors ligne, permettant aux utilisateurs d'accéder aux fichiers et notes fréquemment utilisés même sans connexion réseau.
Recherche rapide : indexe et récupère rapidement le contenu des fichiers statiques locaux (HTML, TXT, MD) et des notes générées par l'utilisateur.
Mise en cache côté client : les fichiers fréquemment consultés sont mis en cache localement, ce qui réduit les temps de chargement et minimise les requêtes du serveur.
Accès hors ligne : le service worker intégré permet aux utilisateurs de rechercher et d'accéder à des fichiers et des notes hors ligne.
Gestion des notes : comprend une application simple de prise de notes, permettant aux utilisateurs de créer, modifier et enregistrer des notes, qui sont également mises en cache pour une récupération rapide.
Indexation des fichiers : les fichiers dans les répertoires désignés sont indexés lors de la première recherche et mis en cache pour permettre un accès plus rapide.
Mise en cache côté client : le contenu indexé est stocké dans un cache, permettant au moteur de recherche d'ignorer les lectures de fichiers pour les fichiers fréquemment consultés.
Service Worker : un service worker met en cache les fichiers essentiels et fournit une assistance hors ligne, rendant les notes et le contenu statique disponibles sans connexion Internet.
Récupération en temps réel : les notes dynamiques sont mises en cache immédiatement après leur création, permettant un accès instantané en ligne et hors ligne.
Le système est conçu autour d'un modèle de mise en cache et de service worker côté client, éliminant ainsi le besoin d'une base de données. Voici une architecture simplifiée :
graphique TD
UI[Interface utilisateur] -->|Demande de recherche| Moteur de recherche
Moteur de recherche -->|Haut de cache ?| Cache
Cache -->|Oui| Récupérer du cache [Récupérer du cache]
RetrieveFromCache --> DisplayResults
Moteur de recherche -->|Non| ReadFile [Lire le fichier à partir du répertoire]
ReadFile -> IndexContent [Contenu de l'index et du cache]
IndexContenu --> Cache
IndexContent --> DisplayResults[Afficher les résultats]
ServiceWorker[Service Worker] --> Support hors ligne
Notes[Stockage Notes] -> Cache
Remarques --> ServiceWorker
ChargementSuivez ces étapes pour configurer le projet localement :
Cloner le référentiel
clone git https://github.com/vansh-codes/Client-Side-Cache-Based-Search-Engine.git
Accédez au répertoire
cd Moteur de recherche basé sur le cache côté client
Configurer XAMPP ou un serveur PHP local
Placez le projet dans le répertoire XAMPP approprié (par exemple, C:/xampp/htdocs/
).
Démarrez le serveur Apache.
Accédez au projet Ouvrez votre navigateur et accédez à http://localhost/Client-Side-Cache-Based-Search-Engine
.
Rechercher du contenu : utilisez la barre de recherche pour rechercher des mots-clés dans les fichiers et les notes indexés.
Prise de notes : créez et enregistrez des notes, qui seront mises en cache pour un accès rapide et une disponibilité hors ligne.
Accès hors ligne : après le premier accès, les fichiers et les notes sont accessibles hors ligne à l'aide du service worker.
Définissez les chemins de répertoire pour le stockage du contenu et des notes dans le fichier de configuration :
CACHE_DIR
: Chemin pour stocker les fichiers mis en cache.
Dossier de contenu : modifiez le chemin des fichiers statiques sous le répertoire content/
.
Dossier Notes : modifiez le chemin des notes dynamiques sous le répertoire notes/
.
Ajustez les paramètres d'expiration du cache pour effacer les fichiers obsolètes et actualiser le contenu si nécessaire.
Capacités de recherche avancées : implémentez une recherche floue et une mise en évidence de mots clés pour des recherches plus intuitives.
Gestion améliorée du cache : introduisez des politiques d'expiration du cache pour une meilleure gestion du stockage.
Prise de notes multiformat : prend en charge des formats de notes supplémentaires (TXT, MD, HTML) et les met automatiquement en cache pour une récupération plus rapide.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Profitez de recherches rapides, efficaces et hors ligne !