2010-11-13 35 views
1

Je construis un moteur de recherche pour les voitures. Lors de la visualisation des résultats de recherche, à gauche il y a des filtres pour rendre les résultats plus spécifiques. Je veux être en mesure d'afficher la somme des résultats qui existent lorsque chaque filtre est défini pour la recherche sélectionnée.Recherche de filtres de moteur :: résultats de précompte pour chaque filtre

Par exemple, les filtres peuvent être:

Faire
Alfa Romeo (500)
BMW (2330)
....

Couleurs
Noir (1000)
Blanc (800)
....

Je veux calculer le nombre entre parenthèses effecient sans faire des dizaines de sélections pour cela. Une idée de comment mettre en cache ces données ou faire une table spéciale pour cela? N'oubliez pas qu'à chaque fois qu'un filtre est ajouté, les sommes doivent être recalculées en fonction des nouveaux résultats.

Vous pouvez consulter un exemple here

Il est assez difficile, je pense ..
Merci beaucoup pour toute aide! Dimitris

Répondre

0

Vous devriez envisager d'utiliser le moteur de recherche Solr pour une fonctionnalité avancée. Il existe plusieurs bonnes gemmes Ruby pour une intégration facile avec Solr, vous pouvez trouver des pointeurs here.

2

étrange solution -Solr. c'est bon seulement quand vous avez un serveur dédié "juste pour le moteur de recherche" -si pas (quand le serveur et le site seront hébergés sur le même serveur-problème de performance). Une solution plus simple est la norme lucene (solr est une extension java à lucene)