Nous avons accompagné Aprolis de l’expression du besoin à la mise en ligne d’un moteur de recherche pour son usine à site.
Le moteur de recherche intègre les fonctionnalités suivantes :
- tolérance au fautes de frappes
- tolérance aux fautes d’orthographe
- recherche par synonymes
- auto-complétion
Nous avons également implémenté un module statistique customisé et intégré au back-office Drupal afin de permettre à notre client de recueillir les KPI’s relatives aux recherches effectuées par les utilisateurs sur ces sites (nombre de recherches, mots-clés recherchés etc.)
Nous avons utilisé SolR pour l’indexation des contenus et fonctionnalités du moteur de recherche.
Solr, qu’est-ce que c’est ?
Solr (prononcé Solar) est un sous-projet open source basé sur la bibliothèque de recherche et d’indexation Lucene d’Apache.
Solr est basé sur Lucene Core et est écrit en Java. En tant que serveur de recherche, Apache Solr est l’un des outils les plus populaires pour l’intégration de moteurs de recherche verticaux. Les avantages de Solr comprennent un large éventail de fonctions (y compris, par exemple, la classification à facettes des résultats de recherche) et l’indexation accélérée.
Dans notre cas, nous avons utilisé la version “cloud” de Solr appelée Websolr déjà utilisée sur le projet pour la recherche des agences Aprolis.
Nous nous sommes également basées sur l’algorithme de Levenshtein pour la gestion des fautes de frappes, d’orthographe et l’autocomplétion. L’algorithme de Levenshtein permet de mesurer mathématiquement la « distance » entre 2 chaînes de caractères, c’est-à-dire leur similarité.
Dans une application, un tel algorithme nous permet d’optimiser les saisies dans les zones de texte :
- optimiser les recherches par mots-clés
- proposer des chaînes similaires lors de la saisie (« auto-complétion »)
- corriger les fautes de frappes (inversion de 2 caractères, caractère doublée…)
L’algorithme de Levensthein permet de proposer à l’utilisateur des résultats, malgré une syntaxe « approximative ».