2010-05-26 5 views
4

La recherche en texte intégral de ColdFusion 9 est maintenant basée sur Apache Lucene Solr (ou Verity, mais elle a trop de limitations). Nous utilisons également SQL Server.Apache Lucene de CF9 vs recherche plein texte de SQL Server?

Lequel est le meilleur? Lequel est le plus facile?

MISE À JOUR: va utiliser pour ... la recherche par rapport au nom & champs de description de la table Produits.

Merci!

Répondre

2

Voici mes 2 cents testé avec ~ 3 000 000 d'images avec des légendes (clé primaire + légende de l'image texte de 100 à 500 caractères):

L'implémentation de Solr de CF9 est rapide dans le retour des résultats, très facile à configurer, assez rapide pendant l'index de construction.

SQL Server 2005 FTS n'était pas assez bon, essayé il ya un certain temps et ne l'a pas mis en production. SQL Server 2008 FTS est beaucoup mieux, en l'utilisant actuellement sur notre application. Mais la configuration de base a dû être ajustée afin d'obtenir des résultats de haut niveau.

Sur la base des expériences d'autres collègues travaillant avec d'énormes ensembles de données et des applications principalement basées sur la recherche et de trouver des choses que je fait ma tête de liste:

  1. Lucene
  2. Tuned SQL Server 2008 FTS
  3. Solr
  4. SQL Server 2005

Bien sûr Solr de CF9 est gagnant ici si vous chassez Setu rapide p puisque vous avez besoin de 3 balises pour terminer le travail et obtenir des résultats impressionnants.

+1

btw, quelle est la différence entre Lucene et Solr? THX. – Henry

+0

Performance sage Lucene devrait être plus rapide étant donné que vous n'avez pas besoin de toutes les fonctionnalités de Solr et que vous construisez l'indexation de recherche, le filtrage de texte et l'analyse exactement comme vous en avez besoin. Un autre avantage à mon humble avis pour Lucene est que vous avez une chose de moins en cours d'exécution séparée de votre application principale dans le conteneur de servlet. Comme je l'ai dit, nous utilisons le serveur SQL FTS, mais pour la préparation des textes, l'analyse, le filtrage, etc., nous utilisons la bibliothèque Lucene avec javaLoader.cfc. –

+1

@Henry - Lucene est une bibliothèque de recherche, initialement écrite en Java, mais portée vers plusieurs autres langages et environnements. Il est de bas niveau, prend un certain temps à apprendre et a beaucoup de fonctionnalités de recherche. Solr est un serveur de recherche construit au-dessus de Lucene et s'exécute comme une application Web dans un conteneur de servlets. C'est beaucoup plus facile à configurer et à utiliser. Je ne suis pas certain que la performance de Solr soit plus lente que celle de Lucene, car la communauté Lucene décrit Solr comme "Lucene Best Practices", ce qui signifie que de nombreux paramètres de Lucene sont choisis dans Solr pour être optimaux. Les deux sont des produits FTS utiles. –

1

La question importante: À quoi servira-t-il?

peut ne pas choisir le bon outil pour le travail lorsque vous ne savez pas ce que le travail est;)

+0

va utiliser pour ... la recherche dans les champs name & description de la table Products. – Henry