Thanks to visit codestin.com
Credit goes to github.com

Skip to content

moodeski/ebm_search

Repository files navigation

EBM Search - Document Management System

Laravel Elasticsearch MongoDB

Application web de gestion et de recherche de documents avec recherche full-text et gestion dynamique des types de documents.

✨ Fonctionnalités principales

  • 🔍 Recherche full-text dans le contenu des documents
  • 📁 Gestion complète des documents (CRUD)
  • 🏷️ Création dynamique de types de documents
  • 📄 Support des formats PDF et Word
  • 🎯 Surlignage des termes recherchés
  • 🔒 Gestion sécurisée des fichiers
  • 📈 Indexation temps réel avec Elasticsearch
  • 📦 Stockage des fichiers sur disque

🚀 Installation

Prérequis

  • PHP 8.0+
  • Composer
  • MongoDB 4.4+
  • Elasticsearch 7.10+
  • Node.js 14+
  • Serveur web (Apache/Nginx) ou PHP built-in server

Étapes d'installation

  1. Cloner le dépôt :
git clone https://github.com/moodeski/ebm_search.git
cd ebm-search
  1. Installer les dépendances :
composer install
npm install && npm run build
  1. Configurer l'environnement :
cp .env.example .env
php artisan key:generate
  1. Modifier le fichier .env :
APP_NAME=EBM_Search
APP_ENV=local
APP_DEBUG=true

DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=db_name

ELASTICSEARCH_HOST=localhost:9200
ELASTICSEARCH_USERNAME=username
ELASTICSEARCH_PASSWORD=password

FILESYSTEM_DISK=public
  1. Créer le lien de stockage :
php artisan storage:link
  1. Démarrer les services :
# Elasticsearch (selon votre installation)
sudo systemctl start elasticsearch

# Serveur de développement
php artisan serve

🛠 Configuration Elasticsearch

Créer les indexes nécessaires : L’indexation est automatiquement prise en charge par l’application.

📚 Utilisation

Accès à l'application

  • URL : http://localhost:8000

Gestion des documents

  1. Ajouter un document

    • Formats supportés : PDF, Word
    • Extraction automatique du texte
    • Métadonnées automatiquement remplies
  2. Recherche avancée

    • Champ libre de recherche
    • Filtrage par type de document
    • Surlignage des résultats
  3. Gestion des types

    • Création/Modification dynamique
    • Liste mise à jour en temps réel

📦 Dépendances principales

🔍 Exemple de recherche Elasticsearch

{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "doc_content": "exemple de recherche"
          }
        }
      ],
      "filter": [
        {
          "term": {
            "doc_type": "CV"
          }
        }
      ]
    }
  }
}

🚨 Dépannage

Problèmes courants

  1. Erreur de connexion Elasticsearch

    • Vérifier les logs Elasticsearch
    • Confirmer les credentials dans .env
  2. Problème d'extraction de texte

    • Vérifier les dépendances : pdftotext et phpword (composer require)
    • Vérifier les permissions des fichiers
  3. Erreur mbstring ou mongodb

    • Activer l'extension PHP mbstring ou mongodb.dll (php.ini) :
    sudo apt-get install php-mbstring
    sudo systemctl restart apache2

📄 Licence

MIT License - Voir le fichier LICENSE.md pour plus de détails


Développé par : Souleymane MAIGA et Modibo Kane NIARE Client : Entreprise Kankou Moussa
Date de livraison : 21/04/2025

About

Application de gestion documentaire avec recherche full-text

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages