2010-05-23 7 views
6

Zend Lucene e Java Lucene sono costruiti in PHP e java in modo ripetitivo e il linguaggio PHP ha un livello superiore rispetto a Java.comparazione delle prestazioni tra Zend Lucene e Java Lucene

Basta chiedersi quanto è grande la differenza di prestazioni tra questi due, per quanto riguarda la creazione di indici e la ricerca dei dati?

È molto più efficace lasciare java creare e ricostruire l'indice e lasciare che php usi l'indice?

risposta

12

Questa è una citazione da uno Zend Certified Engineer.

Contro il mio giudizio migliore, l'azienda per cui lavoro migrato il nostro precedente soluzione di ricerca per Zend_Search_Lucene. Sull'hardware robusto , l'indicizzazione di un documento milioni di ore ha richiesto diverse ore, e le ricerche erano relativamente lente. Il processo di indicizzazione ha consumato enormi quantità di memoria e gli indici spesso sono danneggiati (utilizzando 1.5.2). Una ricerca singola con caratteri jolly letteralmente ha messo in ginocchio il server Web, , quindi abbiamo disattivato quella funzione. L'utilizzo della memoria era molto alto per le ricerche e di conseguenza le richieste al secondo diminuivano necessariamente perché avevamo per ridurre il numero di processi Apache child .

Da allora ci siamo spostati in Solr (un server di ricerca Java basato su Lucene ) e la differenza è drammatica. L'indicizzazione richiede circa 10 minuti e le ricerche sono velocissime. Che differenza fa una lingua con .

Original Article

In questo caso, Java.

+0

Ditto Inkspeak pure. –

+1

Grazie. Mi piacerebbe comunque attenermi a Zend_Search_Lucene all'inizio per uno sviluppo pratico con Zend framework. Passo poi a soluzioni avanzate una volta che la performance è inaccettabile. Inoltre, Zend Lucene è compatibile con l'indice creato da java Lucene. Quindi posso facilmente passare all'indicizzazione di JAVA Lucene in futuro – Capitaine

+2

Ecco un suggerimento: quando si sviluppano le chiamate di ricerca astratte in modo da poter facilmente collegare qualsiasi motore di ricerca si sceglie di utilizzare. Ciò ti farà risparmiare tempo nel caso avessi bisogno di riprogettare il tuo codice per un'origine dati diversa. –

2

Quando ho posto questa domanda a un evangelista di Zend e a uno dei loro arnesi, mi è stato detto che Java Lucene avrebbe fornito prestazioni sostanzialmente migliori. I loro punti principali riguardavano la gestione dei caratteri UTF8 e la velocità di indicizzazione (se ricordo bene). Apparentemente Java Lucene è molto meglio in questo.

Does Zend Lucene need Java Lucene?