2010-10-19 27 views
2

J'ai un site ASP.NET soutenu par une base de données SQL Server. J'utilise Lucene.NET pour indexer et rechercher dans la base de données. J'ajoute la navigation à facettes dans la page de résultats (les facettes sont un arbre de catégories hiarchiques). J'ai demandé hier de m'assurer que j'utilisais la bonne technique pour le facettage. Tout ce que j'ai obtenu jusqu'à maintenant est une suggestion d'utiliser Solr, mais Solr fait un lot des choses dont je n'ai pas besoin.Solr sur un site .NET

Je voudrais vraiment savoir de toute personne qui connaît le code source de Solr si le traitement des facettes de Solr est terriblement différent du one described here by Bert Willems. Basiquement, vous avez un filtre Lucene pour chaque facette, vous obtenez le tableau de bits, et vous comptez les bits d'ensemble dans le tableau. Je pense que le mien est hidique pour commencer, je devrais être en mesure d'optimiser ce plutôt bien, mais j'ai peur de sous-estimer grossièrement l'impact de cette conception sur la performance de recherche. Si Solr n'est pas plus rapide, je ne vais rien gagner en l'utilisant.

Répondre

3

Je vous recommande de créer un prototype de projet de modélisation de vos besoins de facettage avec Solr et de le comparer à Lucene.net.

Même si faceting in Solr est très optimisé (et obtient de nouvelles optimisations tout le temps, comme le parallel per-segment faceting method), lors de l'utilisation de Solr, il y a une surcharge, par exemple des allers-retours réseau et l'analyse des réponses.

Si votre code implémente déjà Lucene.NET, fonctionne correctement et que vous n'avez besoin d'aucune des fonctionnalités supplémentaires de Solr, il n'est pas nécessaire de passer à Solr. Mais considérez aussi que si vous choisissez Solr, vous obtiendrez gratuitement des améliorations de performance à chaque nouvelle version.