5 modules pour faire des recherches complètes en JavaScript

Le 08/10/2015

Dans Développement

Nous avons dû pour un projet en cours mettre en place une recherche, mais on ne voulait pas faire appel au serveur, pour ne pas avoir une dépendance trop forte avec lui et donc pouvoir implémenter un mode hors-ligne. Nous avons dû nous rendre à l'évidence : un moteur de recherche côté client ne s'improvise pas. 

S'il est possible côté serveur de créer un champ de recherches simples et "vaguement" efficaces avec des jokers MySQL et du Full-Text index, les navigateurs n'ont pas de tels outils et nous nous retrouvons à bricoler quelque chose d'absolument pas performant avec des RegExp.

Heureusement, il existe plusieurs ressources actives et de bonne qualité sur le sujet, que nous vous proposons de découvrir ici. 

Fuse

Fuse est une bibliothèque JavaScript qui vous permettra de faire du Fuzzy Search (rechercher plusieurs termes, accepter des fautes de frappe…). Cette library est rapide, légère et simple à utiliser.

JS Search

JS Search est un outil similaire à Fuse.

Lunr.js

Lunr.js est une version JavaScript de Solr, en plus légère et malheureusement moins puissante.

Jets.js

Jets.js est une bibliothèque intéressante, car elle permet de filtrer le DOM de manière bien plus rapide que les filtres CSS grâce à des classes ou des arguments.

List.js

List.js est plus qu'une simple recherche, c'est avant tout un moyen de gérer des listes et des tableaux, de les filtrer et les organiser suivant différents paramètres.