2010-05-23 5 views
6

Zend Lucene und Java Lucene sind in PHP und Java erstellt, und PHP Sprache hat eine höhere Ebene als Java.Leistungsvergleich zwischen Zend Lucene und Java Lucene

Fragen nur Wie groß ist der Leistungsunterschied zwischen diesen beiden, in Bezug auf Indexaufbau und Datensuche?

Ist es viel effektiver, Java erstellen und neu erstellen Index, und lassen Sie PHP den Index verwenden?

Antwort

12

ist ein Zitat aus einem Zend Certified Engineer.

wider besseres Wissen, die Firma, die ich für unsere vorherigen Suchlösung zu Zend_Search_Lucene migriert arbeiten. Auf hübschen Heavy-Duty-Hardware, Indexierung einer Millionen Dokumente dauerte mehrere Stunden, und Suchvorgänge waren relativ langsam. Der Indizierungsprozess verbrauchte große Mengen des Speichers, und die Indizes häufig wurden beschädigt (mit 1.5.2). Eine einzelne Wildcard-Suche buchstäblich brachte den Webserver auf die Knie, , so dass wir diese Funktion deaktiviert. Speicher Nutzung war sehr hoch für die Suche und als Ergebnis Anfragen pro Sekunde notwendigerweise stark abgelehnt, da wir hatten, um die Anzahl der Apache Kind Prozesse zu reduzieren.

Wir sind seit Solr gezogen (ein Lucene-basierte Java-Suchserver) und der Unterschied ist dramatisch. Indexierung dauert jetzt etwa 10 Minuten und Suchvorgänge sind blitzschnell. Was ein Unterschied einer Sprache macht.

Original Article

In diesem Fall Java.

+0

Dito Inkspeak auch. –

+1

Danke. Ich würde am Anfang noch bei Zend_Search_Lucene bleiben für die praktische Entwicklung mit Zend Framework. Ich gehe dann zu fortgeschrittenen Lösungen über, sobald die Leistung inakzeptabel ist. Außerdem ist Zend Lucene kompatibel mit dem von java Lucene erstellten Index. So kann ich leicht zu JAVA Lucene Indizierung in der Zukunft wechseln – Capitaine

+2

Hier ist ein Tipp - bei der Entwicklung von abstrakten Ihre Suchaufrufe, so dass Sie einfach Plugin, welche Suchmaschine Sie verwenden möchten. Dadurch sparen Sie Zeit, sollten Sie Ihren Code für eine andere Datenquelle neu entwickeln müssen. –

2

Als ich diese Frage eines Zend Evangelisten und einer ihrer gemieteten Waffen stellte, wurde mir gesagt, dass die Java Lucene wesentlich bessere Leistung bringen würde. Ihre Hauptpunkte betrafen den Umgang mit UTF8-Zeichen und die Geschwindigkeit der Indexierung (wenn ich mich richtig erinnere). Anscheinend ist Java Lucene hier viel besser. Diese

Does Zend Lucene need Java Lucene?