2013-03-29 16 views
129

so che Lucene e Solr sono 2 differenti Apache projects che sono fatti per lavorare insieme, ma non capisco qual è lo scopo di ogni progetto.Differenza tra solr e Lucene

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

+5

non http: //lucene.apache.org/solr/ (e la pagina equivalente per Lucene) rispondono? – NPE

+0

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

+1

A differenza di Lucene, Solr è un'applicazione Web (WAR) che può essere distribuita in qualsiasi contenitore servlet, ad es. Jetty, Tomcat, Resin, ecc. Solr può essere installato e utilizzato dai non programmatori. Lucene non può. Maggiori informazioni su http://www.lucenetutorial.com/lucene-vs-solr.html – Lucky

risposta

185

@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 utilizza Lucene sotto il cofano. Lucene non ha idea dell'API Solr.

2) Lucene è un potente framework motore di ricerca che ci permette di aggiungere funzionalità di ricerca per la nostra applicazione. Espone un API facile da usare mentre nasconde tutte le operazioni complesse relative alla ricerca. Qualsiasi applicazione può utilizzare questa libreria, non solo Solr.

3) Solr è costruito intorno Lucene. Non è solo un http-wrapper intorno a Lucene, ma has been known to add more arsenal to Lucene. Solr è pronto all'uso fuori dalla scatola. È un'applicazione web che offre un'infrastruttura correlata e molte altre funzionalità oltre a quelle offerte da 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 si limita a creare l'indice per il consumo da parte Solr. Lucene gestisce tutte le operazioni relative alla ricerca. Qualsiasi applicazione può utilizzare il framework Lucene.

Esempi sono Solr, elastico ricerca, LinkedIn (sì, sotto il cofano), ecc ..

leggi questo articolo: Lucene vs Solr

UPDATE (6/18/14)

Quando utilizzare Lucene?

  • Tu sei un ingegnere di ricerca e
  • Tu sei un programmatore e
  • Si vuole il pieno controllo su quasi tutti i meccanismi interni di Lucene E
  • Le vostre esigenze chiedono di fare ogni sorta di personalizzazione geek a Lucene E
  • Sei disposto a occuparti degli elementi dell'infrastruttura della tua ricerca come ridimensionamento, distribuzione, ecc.

Quando utilizzare Solr?

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

NOTA: non voglio dire che Solr è difficile da personalizzare. Solr è molto flessibile e fornisce molti punti API collegabili, consentendo di inserire il codice.

Ci sono persone, che rientrano in 'devono usare il campo Lucene', ma preferiscono ancora Solr a semplice Lucene in quanto è facile da usare. Tuttavia, non si limitano mai a personalizzare Solr nella misura massima.

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

24

Lucene è una libreria di basso livello Java (con porte per NET, ecc) che implementa l'indicizzazione, analisi, ricerca, ecc

Solr è un prodotto standalone/webapp preconfigurata che utilizza Lucene. Se preferisci utilizzare l'API HTTP invece dell'API Java, Solr fa per te. Solr ha anche alcune funzioni extra in alto (ad esempio grouping).

17

Un modo semplice per concettualizzare il rapporto tra Solr e Lucene è quello di una macchina e il suo motore. Non puoi guidare un motore, ma tu, , puoi guidare una macchina. Allo stesso modo, Lucene è una libreria programmatica che non è possibile utilizzare così come è , mentre Solr è un'applicazione completa che è possibile utilizzare out-of-box.

Fonte: Lucene-vs-solr - Lucene Tutorial

+4

Che è incollato su copia da http://www.lucenetutorial.com/lucene-vs-solr.html Si prega di menzionare la fonte ogni volta che si copia incolla la risposta citando la fonte. ;) – Lucky

+1

Pagina sembra essere offline ora. –

6

SOLR è un involucro sopra dell'indice Lucene.

E 'semplice da capire: SOLR è auto e Lucene è il suomotore. Hai solo bisogno di sapere come guidare la macchina (SOLR) e devi anche sapere alcune cose del motore (Lucene) nel caso in cui ci sia qualche problema nel tuo motore della tua auto.

Avere una guida sicura :)

+1

Per non parlare del fatto che, se fossi così inclinato, potresti * costruire * la tua auto usando il motore Lucene. – hintss

5

Solr è costruito sulla cima di Lucene per fornire una piattaforma di ricerca.

Search Platform nei seguenti strati dal basso verso l'alto:

  • dati
    • Scopo: Rappresentare i vari tipi di dati e fonti
  • edificio Documento
    • Scopo : Crea informazioni sul documento per l'indicizzazione
  • indicizzazione e la ricerca
    • Scopo: Costruire e interrogare un indice documento
  • valorizzazione Logic
    • Scopo: la logica aggiuntiva per query di ricerca di elaborazione e risultati
  • Servizio piattaforma di ricerca
    • Scopo: aggiungere funzionalità aggiuntive del core del motore di ricerca per fornire una piattaforma di servizio.
  • applicazione UI
    • Scopo: interfaccia di ricerca dell'utente finale o applicazioni

solr stack

articolo Riferimento: Enterprise search

Problemi correlati