3 votes

Comparaison : Recherche de texte intégral dans la base de données et moteur de recherche (Lucene)

Avec stackoveflow.com en perspective (une équipe de 2 ou 3 ingénieurs construisant un projet de site web destiné à évoluer), est-il judicieux de consacrer des efforts au début du processus de développement pour construire une recherche basée sur Lucene/Autonomy par opposition à une recherche plein texte basée sur une base de données.

Pour/Contre :
Avec une implémentation mature de Lucene comme nutch ou autonomy, le coût du passage à Lucene (qui est inévitable) à un stade ultérieur est négligeable.
Pour les gros volumes, il est relativement facile d'ajouter des serveurs d'index supplémentaires (par exemple avec nutch) pour maintenir l'index de recherche croissant.
Avec une implémentation de Lucene, j'aurai probablement besoin d'un serveur supplémentaire pour gérer l'index en mémoire (bien tôt dans le processus de mise à l'échelle).

4voto

Seun Osewa Points 3243

Les performances de la recherche en texte intégral dans les bases de données varient d'une base de données à l'autre, mais c'est de loin l'option la plus facile à configurer. Commencez donc par cette option, et passez à lucene ou sphinx si elle s'avère trop lente.

0voto

ripper234 Points 39314

Vous devez cependant rester isolé - ne commencez pas à jeter des SELECTS partout dans votre code si vous savez que vous les remplacerez par une requête de moteur de recherche. Enveloppez la recherche plein texte de votre base de données avec une fine couche d'abstraction qui vous assure de ne pas utiliser les capacités de la base de données là où vous ne le devriez pas.

Je suis d'accord avec la réponse acceptée - l'optimisation prématurée est définitivement un mal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X