6
votes

Quels sont les inconvénients de l'utilisation de Lucene?

Je pense utiliser Lucene dans mon projet pour effectuer des recherches très rapides. Je sais que Lucene crée ses propres fichiers où il conserve toutes les données / index.

Je me demande quels sont les inconvénients de l'utilisation de Lucene? Y a-t-il?

Devez-vous faire quelque chose avec la base de données de fichiers ou fonctionne-t-il bien sans aide extérieure?

P.s. Je sais qu'il y a aussi Lucene .NET et je parie que les mêmes règles s'appliquent là.


0 commentaires

4 Réponses :


10
votes

Lucene est super. Très flexible, étonnamment rapide et une API solide. La liste de diffusion est extrêmement utile.

Les fichiers ont besoin d'un peu de maintenance, mais cela peut être fait avec des outils fournis. D'une importance primordiale est l'optimisation de l'indice à l'occasion, mais cela n'est nécessaire que si vous mettez à jour l'index régulièrement.

Je suggérerais aussi de regarder en solr. C'est essentiellement un webApp et des outils qui reposent sur Lucene. Il en fait un peu plus facile de créer de nouveaux index, de les conserver optimisés, ainsi que de la synchronisation Master / esclave pour un cluster de recherche évolutif. Ceci, bien sûr, dépend de vos besoins réels.

Pour un exemple personnel, j'ai utilisé un indice de recherche pour une grande entreprise de jeu connue. L'indice avait des centaines de milliers d'entrées dans plusieurs langues (dans le monde entier) et des locaux. Il a effectué un million de recherches chaque jour sur le cluster sans utiliser à peine aucune CPU et une quantité raisonnable de mémoire. Il y avait une charge de charge à environ 300 millions de recherches par jour, sur le matériel que nous avions et que nous étions à l'échelle linéairement en ajoutant simplement plus de boîtes au cluseur. Solr et Lucene étaient les principaux outils pour cela.

Si je avait donner un inconvénient, ce serait une courbe d'apprentissage. Il y a beaucoup à comprendre, et si vous voulez une solution vraiment optimisée, vous devez bien le savoir. Cependant, cela se produira avec n'importe quel outil de recherche que vous utilisez, si vous le faites vous-même. La documentation, les wikis et la liste de diffusion fournissent beaucoup de soutien à cette rampe.


0 commentaires

2
votes

J'ai une expérience limitée avec Lucene, jusqu'à présent, cela a été génial cependant. Les inconvénients que je peux voir sont principalement du point de vue des affaires:

  1. Je dois faire activement le cas pour Utiliser Lucene à mon patron, par défaut Nous utiliserions SQL Server. Pour faire le interrupteur, je devrai prouver sans un doute que Lucene effectue mieux (et pas seulement similaire) pour l'utilisation cas nous avons. Je suppose que celui-ci va au "personne n'a jamais été tiré pour Acheter des équipements IBM "Syndrome.
  2. Développement en cours / correctifs de bugs pour Lucene.net en particulier sont discutables à cette point, encore une fois une vente plus sévère w / o cette. J'espère que la communauté peut Rallye.

0 commentaires

2
votes

Lucene fait un excellent travail pour Beaucoup de personnes et de sociétés . Votre kilométrage peut varier, cependant. Le modèle de notation de Lucene est un problème possible - il utilise une combinaison de TF / IDF et de notation booléenne, tandis que d'autres outils IR utilisent le BM25 probabiliste, ce qui est plus fort. Cependant, vous pouvez travailler avec Lucene pendant des années et les résultats de la recherche seraient assez bons. En outre, la mise à l'échelle à plusieurs millions de documents n'est pas facile.

Cela revient à votre cas d'utilisation spécifique. Il est préférable de commencer un test en utilisant Solr et voir s'il semble correspondre à vos besoins.


0 commentaires

3
votes

Lucene a eu un problème d'évolutivité. Sa performance se dégrade lorsque l'indice devient plus grand et plus grand.


1 commentaires

Ce n'est pas un problème spécifique de Lucene, il en va de même pour tout système d'indexation.