2010-01-06 14 views
25

Posso usare Lucene con PHP? Non voglio usare Zend. Posso usare in PHP nativo (non framework)?Lucene con PHP

+1

"Can I" è una domanda molto ampia. Certo che puoi". Tuttavia, è ragionevole? Per favore espandi la tua domanda per illustrare come intendi usarla. – gahooa

+0

Voglio utilizzare la ricerca full-text con Lucene. MySQL troppo lento per la ricerca di oltre 8 milioni di record. Quindi, voglio provare con Lucene – saturngod

risposta

27

Si consiglia di utilizzare Apache SOLR come il proprio backend Lucene e la connessione tramite chiamate al servizio web dal codice PHP.

Vorrei anche notare che è facile scegliere e selezionare i componenti di Zend Framework per l'utilizzo nell'applicazione senza caricare l'intero framework. Puoi utilizzare Zend_Search_Lucene nel tuo sito e rinunciare all'MVC, al database e ai componenti correlati di Zend.

+0

Grazie. Proverò con Apache SOLR – saturngod

+7

Vorrei aggiungere una raccomandazione (preferenza personale) a JSON piuttosto che XML per il recupero dei risultati. – Brian

4

Inoltre, SOLR (http://lucene.apache.org/solr/) ha una semplice API HTTP e si basa su Lucene, quindi se fornisce quello che ti serve, questa è una risposta facile!

Non ho esperienza diretta con Lucene con PHP, quindi rimanderò agli esperti su questo.

2

Quando dici che non vuoi usare Zend, suppongo che intendi che non vuoi usare l'intero Zend Framework. Bene, non è necessario: i singoli componenti di Zend possono essere utilizzati da soli senza la necessità di far parte di un progetto Zend.

+0

come? c'è un todo? – siniradam

+2

Beh, ho scritto questa risposta più di 5 anni fa e allora avresti appena scaricato il framework, incollalo in un percorso di inclusione e poi avresti richiesto il file necessario (es. Zend/Lucene/Search.php), o usare l'autoloading, e accedi alla classe come nei documenti. Oggigiorno abbiamo un compositore che lo rende molto più facile. Zend Lucence di Zend 1 è attualmente disponibile su compositore - https://packagist.org/packages/zf1/zend-search-lucene. Le istruzioni su come usare il compositore possono essere trovate qui: https://getcomposer.org/doc/01-basic-usage.md – Gnuffo1

1

Sto utilizzando Lucene con il sistema di fare PHP invita Java, ad esempio:

java ... .SearchFiles -index C:\shop\system\index -high -queries Computer* 

ho adattato SearchFiles per la produzione di codice HTML, ma l'uscita potrebbe anche essere codice PHP dinamico (ad esempio una matrice tenendo i risultati della ricerca).

Il sistema è molto veloce e non serve più di Java sul server.

-3

Sì si può semplicemente codificare un modulo Java per l'indicizzazione e la ricerca scopo utilizzando la libreria Lucene apache. Quindi puoi unirlo con il modulo php con php/java bridge o SOAP. Sarà un'esperienza di apprendimento abbastanza buona per te.