A l'heure où les bases de données sont de plus en plus volumineuses et les interfaces de recherche de plus en plus riches et pertinentes, les index FULLTEXT des SGBD ne suffisent plus. Lenteur et pauvreté fonctionnelle sont leurs points faibles. Alors, pourquoi ne pas utiliser un outil spécialisé dans l'indexation et l'interrogation de données ? Cet article vous propose de découvrir la richesse et la simplicité d'utilisation d'un tel outil : Sphinx.
1. Comment Sphinx s'imposa à nous
Que tous ceux qui exploitent des bases de données (très) volumineuses et qui aspirent à optimiser les temps de réponse des recherches lisent ces lignes !
Voilà comment tout a commencé :
1.1 Etape 1: "où les temps de réponse se dégradent..."
Depuis 2 ans, nous exploitons une base sous MySQL à l'aide de scripts PHP. Jusque là, rien d'original. Lors de sa création, cette base contenait environ 30 millions de lignes. Mise à jour quotidiennement, elle en contient plus de 50 millions aujourd'hui !
Les scripts PHP permettent aux utilisateurs d'effectuer des recherches dans cette base. Ces recherches peuvent être exactes, partielles ou même phonétiques (voir [LMAG1]). Toujours est-il que les temps de réponse se dégradent mois après mois, devenant insupportables pour les utilisateurs.
1.2 Etape 2 : "où il faut développer une v2..."
La décision logique s'impose alors : il faut penser une nouvelle architecture qui...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première