thelia / tnt-search-module
Installs: 1 176
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 6
Forks: 7
Open Issues: 2
Type:thelia-module
Requires
- ext-json: *
- teamtnt/tntsearch: ~5.0.0
- thelia/installer: ~1.1
README
Description
TntSearch est un module Symfony pour Thelia qui fournit un système de recherche avancé et performant. Il s'agit d'une implémentation basée sur la bibliothèque TNT Search pour offrir des fonctionnalités de recherche full-text rapides et efficaces.
Caractéristiques
- Recherche full-text : Recherche rapide et précise dans le contenu
- Indexation automatique : Index automatique des données pour des performances optimales
- Support multi-langue : Gestion des recherches dans différentes langues
- Stemming : Traitement linguistique pour améliorer la pertinence des résultats
- Stop words : Filtrage des mots vides pour optimiser les recherches
- Logging des recherches : Enregistrement des requêtes pour analyse
Structure du Module
Installation
- Placez le module dans le dossier
local/modules/TntSearch
- Activez le module depuis l'administration Thelia
- Configurez les paramètres selon vos besoins
Configuration
Fichiers de Configuration
config.xml
: Configuration générale du modulemodule.xml
: Métadonnées du modulerouting.xml
: Routes du moduleschema.xml
: Schéma de base de données
Base de Données
Le module utilise plusieurs tables pour stocker :
- Les index de recherche
- Les logs de recherche
- Les configurations
Utilisation
Indexation
Le module indexe automatiquement :
- Produits : Noms, descriptions, références
- Catégories : Noms et descriptions
- Marques : Informations sur les marques
- Contenus : Pages et articles
- Clients : Données clients (si activé)
- Commandes : Informations de commande
Recherche Front-Office
La recherche est disponible via :
- Interface de recherche standard
- API REST pour intégrations personnalisées
- Boucles Thelia pour templates
Administration
L'interface d'administration permet :
- Configuration des paramètres de recherche
- Gestion des index
- Consultation des logs de recherche
- Réindexation manuelle
API et Hooks
Services Principaux
ItemIndexation
: Service d'indexationSearch
: Service de rechercheStemmer
: Service de stemmingStopWord
: Gestion des mots vides
Événements
ExtendQueryEvent
: Extension des requêtesSaveRequestEvent
: Sauvegarde des requêtesStemmerEvent
: Traitement de stemmingStopWordEvent
: Filtrage des mots videsWeightEvent
: Calcul des poids
Commandes Console
Le module fournit des commandes pour :
- Réindexation complète
- Nettoyage des index
- Optimisation des performances
Performances
Index Stockés
Les index sont stockés dans local/TNTIndexes/
:
brand_fr_FR.index
category_fr_FR.index
content_fr_FR.index
customer.index
folder_fr_FR.index
order.index
product_fr_FR.index
Optimisations
- Index pré-calculés pour des recherches rapides
- Cache des résultats fréquents
- Tokenisation efficace du texte
- Algorithmes de stemming optimisés
- Recherche par phrase
Compatibilité
- Thelia : Version 2.5+
Support Multi-langue
Le module supporte nativement :
- Français (fr_FR)
- Autres langues via configuration
Maintenance
Tâches Régulières
- Réindexation périodique
- Nettoyage des logs anciens
- Optimisation des index
- Surveillance des performances
Dépannage
- Vérification des permissions sur les fichiers d'index
- Contrôle de l'espace disque
- Analyse des logs d'erreur
Licence
Ce module est distribué sous licence compatible avec Thelia.