J'ai terminé le développement du nouveau moteur de recherche du site. Le nouveau est entièrement .net. J'ai décidé de laisser tomber le catalogue de texte intégral de SQL Server qui n'était pas assez performant pour ce que je voulais faire.



Il m'a fallu six mois pour arriver à assembler les morceaux de l'algorithme principal. Je voulais disposer d'une recherche simple et efficace. J'ai donc balancé à la poubelle les multichamps multi critère pour intégrer dans le seul et unique champ de saisie.
Le raisonnement était simple. Pourquoi faut-il préciser au moteur de recherche que ce que je tape est une année de parution, le nom d'un auteur ou d'un éditeur ? Quand vous discutez avec quelqu'un, on ne précise pas qu'une pomme est un fruit ou une voiture un véhicule ? Le moteur devait être capable de le savoir tout seul.
En plus, je voulais un moteur à réseau. C'est-à-dire qu'on peut lui proposer un sujet, et il se charge de créer un réseau de sujet, de mots associés.
Le raisonnement était simple. Pourquoi faut-il préciser au moteur de recherche que ce que je tape est une année de parution, le nom d'un auteur ou d'un éditeur ? Quand vous discutez avec quelqu'un, on ne précise pas qu'une pomme est un fruit ou une voiture un véhicule ? Le moteur devait être capable de le savoir tout seul.
En plus, je voulais un moteur à réseau. C'est-à-dire qu'on peut lui proposer un sujet, et il se charge de créer un réseau de sujet, de mots associés.

Le plus difficile dans tout ça, c'était de programmer un moteur capable de parcourir les 7 millions d'éléments (livre, auteur, éditeur, catégories, etc..) très rapidement. Le nouveau moteur tourne autour des 16 ms pour une recherche simple. L'astuce : Des hashs tables d'objets, des indexes hyper optimisé, et un un catalogue entièrement en mémoire. Il a fallu trouver un ordinateur capable d'allouer plus de 5 Go de mémoire sans broncher. Le tout en 64 bits.
En faite, le moteur de recherche est 100% indépendant du site. Il tourne sur un serveur séparé et le site s'y connecte par webservice.
En faite, le moteur de recherche est 100% indépendant du site. Il tourne sur un serveur séparé et le site s'y connecte par webservice.
Avouez que c'est quand même jolie de taper "Tintin" et qu'il propose Casterman, BD et Hergé !

0 commentaires:
Enregistrer un commentaire