2010-08-11 5 views
3

Disons que j'ai une grande base de données avec des informations sur le produit. Je veux créer un moteur de recherche pour cette base de données, de préférence avec des fonctions d'indexation et de correction automatique. Comment vais-je faire cela? Y a-t-il de bonnes bibliothèques que je pourrais utiliser pour ne pas avoir à partir de rien avec le SQL de base? Juste quelques recommandations de base, des liens, seraient très appréciés. Je connais bien PHP, C#, VB et Java, mais je connais très peu les bases de données.rechercher une base de données

+0

Dans quel format se trouvent les informations sur le produit? –

Répondre

1

Si votre base de données de produits crée des pages Web, il est préférable d'utiliser lucene ou htdig. Ceux-ci feront une bonne recherche de texte en fonction de votre contenu.

Sinon, vous voudrez rechercher les grands champs de votre base de données en utilisant le text search capabilities in mysql complet. Pour effectuer la saisie semi-automatique, vous devez disposer d'un processus d'indexation hors connexion fonctionnant de la même manière que google. Créez une autre table appelée wordIndex. Il contient des mots et le nombre d'occurrences dans votre produit db.

Lorsqu'un utilisateur commence à taper, vous effectuez une recherche ajax sur cette table et la saisie semi-automatique en fonction de cela.

0

Si la recherche mySQL FULLTEXT ne fait pas tout ce dont vous avez besoin (les bases de données ont leurs propres index que vous pouvez configurer), deux bonnes options sont Solr (basé sur Lucene) et Sphinx. Les deux sont souvent utilisés pour fournir un index de recherche complet au-dessus d'une base de données mySQL. Voici a comparison of the two.

Questions connexes