Differenza tra solr e lucene


163

So che Lucene e Solr sono 2 diversi progetti Apache che sono fatti per lavorare insieme, ma non capisco quale sia lo scopo di ogni progetto.

Per quello che ho capito fino ad ora è che Lucene è usato per creare un indice di ricerca e Solr usa questo indice per eseguire ricerche. Ho ragione o è un approccio totalmente diverso?


5
Non risponde lucene.apache.org/solr (e la pagina equivalente per Lucene)?
NPE,

Sì, hai ragione, la pagina delle caratteristiche del solr chiarisce la differenza. Si Se capisco che potrei usare Lucene da solo, ma Solr ha bisogno di Lucene per lavorare.
darkheir,

2
A differenza di Lucene, Solr è un'applicazione web (WAR) che può essere distribuita in qualsiasi contenitore servlet, ad esempio Jetty, Tomcat, Resin, ecc. Solr può essere installato e utilizzato da non programmatori. Lucene non può. Altro su lucenetutorial.com/lucene-vs-solr.html
Lucky

Risposte:


229

@darkheir: Lucene e Solr sono 2 diversi progetti Apache che sono fatti per lavorare insieme, non capisco quale sia lo scopo di ogni progetto.

1) Solr usa Lucene sotto il cofano. Lucene non ha idea dell'API Solr.

2) Lucene è un potente framework per motori di ricerca che ci consente di aggiungere funzionalità di ricerca alla nostra applicazione. Espone un'API di facile utilizzo nascondendo tutte le operazioni complesse relative alla ricerca. Qualsiasi applicazione può utilizzare questa libreria, non solo Solr.

3) Solr è costruito intorno a Lucene. Non è solo un http-wrapper attorno a Lucene, ma è noto per aggiungere altro arsenale a Lucene . Solr è pronto all'uso pronto all'uso. È un'applicazione web che offre un'infrastruttura correlata e molte più funzioni oltre a ciò che offre Lucene.

@darkheir: Lucene viene utilizzato per creare un indice di ricerca e Solr utilizza questo indice per eseguire ricerche. Ho ragione o è un approccio totalmente diverso?

4) Lucene non crea solo l'Indice per il consumo di Solr . Lucene gestisce tutte le operazioni relative alla ricerca. Qualsiasi applicazione può utilizzare il framework Lucene.

Esempi sono Solr, Elastic Search, LinkedIn (sì, sotto il cofano), ecc.

Dai un'occhiata a questo articolo: Lucene vs Solr

AGGIORNAMENTO (18/06/14)

Quando usare Lucene?

  • Sei un ingegnere di ricerca AND
  • Sei un programmatore AND
  • Volete il pieno controllo su quasi tutti gli interni di Lucene AND
  • Le tue esigenze ti richiedono di fare ogni sorta di personalizzazione geniale per Lucene AND
  • Sei disposto a occuparti degli elementi infrastrutturali della tua ricerca come ridimensionamento, distribuzione, ecc.

Quando usare Solr?

  • Almeno uno dei precedenti non aveva senso. O
  • Volete qualcosa che sia pronto per l'uso immediato (anche senza conoscenza di Java) OPPURE
  • I requisiti dell'infrastruttura superano i requisiti di personalizzazione della ricerca.

NOTA : non intendo dire che Solr sia difficile da personalizzare. Solr è molto flessibile e offre molti punti API collegabili, che ti consentono di inserire il tuo codice.

Ci sono persone che rientrano nel campo " devo usare Lucene ", ma preferiscono ancora Solr a piangere Lucene perché è facile da usare. Tuttavia, non si trattengono mai dalla personalizzazione di Solr nella misura massima.

A proposito, vedo che ci sono più risorse su Solr (4.x) di Lucene (4.x).


31

Lucene è una libreria Java di basso livello (con porte su .NET, ecc.) Che implementa indicizzazione, analisi, ricerca, ecc.

Solr è un prodotto / webapp preconfigurato standalone che utilizza Lucene. Se preferisci gestire l'API HTTP anziché l'API Java, Solr fa per te. Solr ha anche alcune funzionalità extra (ad es. Raggruppamento ).


21

Un modo semplice per concettualizzare il rapporto tra Solr e Lucene è quello di un'auto e del suo motore. Non puoi guidare un motore, ma puoi guidare una macchina. Allo stesso modo, Lucene è una libreria programmatica che non è possibile utilizzare così com'è, mentre Solr è un'applicazione completa che è possibile utilizzare immediatamente.

Fonte: Lucene-vs-solr - Lucene Tutorial


5
Che è copiato e incollato da lucenetutorial.com/lucene-vs-solr.html Si prega di menzionare la fonte ogni volta che si copia incolla risposta citando la fonte. ;)
Lucky

1
La pagina sembra essere offline ora.
dev_feed

15

Solr è costruito su lucene per fornire una piattaforma di ricerca.

Cerca la piattaforma nei seguenti livelli dal basso verso l'alto:

  • Dati
    • Scopo: rappresentare vari tipi di dati e fonti
  • Costruzione di documenti
    • Scopo: creare informazioni sui documenti per l'indicizzazione
  • Indicizzazione e ricerca
    • Scopo: creare e interrogare un indice di documento
  • Miglioramento della logica
    • Scopo: logica aggiuntiva per l'elaborazione di query e risultati di ricerca
  • Servizio di piattaforma di ricerca
    • Scopo: aggiungere ulteriori funzionalità del core del motore di ricerca per fornire una piattaforma di servizio.
  • Applicazione UI
    • Scopo: interfaccia o applicazioni di ricerca dell'utente finale

pila solr

Articolo di riferimento: ricerca aziendale


12

SOLR è un wrapper sull'indice di Lucene.

È semplice da capire: SOLR è un'auto e Lucene è il suo motore . Hai solo bisogno di sapere come guidare l'auto (SOLR) e anche di conoscere alcune cose del motore (Lucene) nel caso in cui ci siano problemi nel motore della tua auto.

Avere un disco sicuro :)


3
Senza contare che se tu fossi così inclinato, si può costruire la propria auto utilizzando il motore di Lucene.
allude

1

Potete immaginarlo nel modo seguente: Apache Lucene è la libreria utilizzata internamente da Apache Solr. È scritto in Java e offre incredibili funzionalità di ricerca e indicizzazione full-text. Può analizzare un gran numero di lingue da tutto il mondo e preparare il testo in tali lingue per una ricerca e un'analisi efficienti e veloci. Lucene è una libreria: puoi usarla direttamente nella tua applicazione e implementare tutto da solo, ma Apache Solr ti offre molto.

Il motore di ricerca di Apache Solr fornisce cose come le API HTTP che è possibile utilizzare per inviare loro i dati e successivamente cercarli. Puoi controllare i motori di ricerca utilizzando l'API, creare ambienti distribuiti e distribuire automaticamente i dati su più nodi e molti, molti altri.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.