2010-05-23 7 views
6

Zend Lucene et Java Lucene sont construits en PHP et Java, et le langage PHP a un niveau supérieur à Java.comparaison de performance entre Zend Lucene et Java Lucene

Vous vous demandez simplement quelle est la différence de performance entre les deux, en ce qui concerne la construction d'index et la recherche de données?

Est-il beaucoup plus efficace de laisser java créer et reconstruire l'index, et laisser PHP utiliser l'index?

Répondre

12

Ceci est une citation d'un ingénieur certifié Zend.

Contre mon meilleur jugement, la société Je travaille pour migrées notre solution de recherche précédente à Zend_Search_Lucene. Sur le matériel robuste, l'indexation d'un millions de documents a pris plusieurs heures, et les recherches ont été relativement lent. Le processus d'indexation a consommé de grandes quantités de mémoire et les index fréquemment ont été endommagés (en utilisant 1.5.2). Une seule recherche de caractères génériques littéralement a mis le serveur Web à genoux, alors nous avons désactivé cette fonctionnalité. Mémoire l'utilisation était très élevée pour les recherches, et par conséquent les demandes par seconde ont nécessairement fortement diminué puisque nous avions pour réduire le nombre de processus Apache enfant .

Nous avons depuis déménagé à Solr (un serveur de recherche Java basé sur Lucene ) et la différence est dramatique. L'indexation prend maintenant environ 10 minutes et les recherches sont rapides comme l'éclair. Quelle différence fait un langage.

Original Article

Dans ce cas, Java.

+0

Ditto Inkspeak également. –

+1

Merci. Je pense que je continuerais à coller à Zend_Search_Lucene au début pour le développement pratique avec le framework Zend. Je passe ensuite à des solutions avancées une fois que la performance est inacceptable. En outre, Zend Lucene est compatible avec l'index construit par Java Lucene. Je peux donc facilement passer à l'indexation JAVA Lucene dans le futur. – Capitaine

+2

Voici un conseil: lorsque vous développez vos appels de recherche abstraits, vous pouvez facilement ajouter n'importe quel moteur de recherche que vous choisissez. Cela vous fera gagner du temps si vous avez besoin de reconfigurer votre code pour une source de données différente. –

2

Quand j'ai posé cette question d'un Zend Evangelist et d'un de leurs pistolets à gages, on m'a dit que le Java Lucene fournirait des performances sensiblement meilleures. Leurs points principaux traitaient de la manipulation des caractères UTF8 et de la vitesse d'indexation (si je me souviens bien). Apparemment, Java Lucene est beaucoup mieux à ce sujet.

Does Zend Lucene need Java Lucene?