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.