Domanda

Sto cercando un server di ricerca full-text stand-alone con le seguenti proprietà:

  • deve operare come un server stand-alone che può servire richieste di ricerca provenienti da più client
  • Deve essere in grado di fare "l'indicizzazione rinfusa" indicizzando il risultato di una query SQL: dire "SELECT id, text_to_index da documenti;"
  • Deve essere software libero e deve essere eseguito su Linux con MySQL come database
  • deve essere veloce (esclude la ricerca full-text interna di MySQL)

Le alternative che ho trovato che hanno queste proprietà sono:

  • Solr (sulla base di Lucene)
  • elasticsearch (anche sulla base di Lucene)
  • Sphinx

Le mie domande:

  • Come si confronta?
  • Ho perso alternative?
  • So che ogni caso d'uso è diverso, ma ci sono alcuni casi in cui avrei sicuramente non vuole utilizzare un determinato pacchetto?
È stato utile?

Soluzione

Ho usato Solr con successo per quasi 2 anni ormai, e non ho mai usato Sfinge, quindi sono ovviamente di parte. Tuttavia, cercherò di tenerlo obiettivo citando i documenti o altre persone. Sarò anche prendere patch per la mia risposta: -)

Somiglianze:

  • Sia Solr e la Sfinge soddisfare tutte le vostre esigenze. Sono veloci e progettato per indicizzare e cercare grandi corpi di dati in modo efficiente.
  • Entrambi hanno una lunga lista di siti ad alto traffico che li utilizzano ( Solr , Sfinge )
  • Entrambi offrono supporto commerciale. ( Solr , Sfinge )
  • Entrambi offrono attacchi API client per diverse piattaforme / lingue ( Sfinge , Solr )
  • Entrambi possono essere distribuiti per aumentare la velocità e la capacità ( Sfinge , Solr )

Qui ci sono alcune differenze:

Domande correlate:

Altri suggerimenti

A meno che non è necessario estendere la funzionalità di ricerca in alcun modo proprietaria, Sfinge è la soluzione migliore.

vantaggi Sphinx:

  1. lo sviluppo e la messa a punto è più veloce
  2. molto meglio (e più veloce) di aggregazione. Questa è stata la funzione di killer per noi.
  3. Non XML. Questo è ciò che in ultima analisi ha escluso Solr per noi. Abbiamo dovuto tornare piuttosto grandi insiemi di risultati (si pensi centinaia di risultati) e poi aggregare noi stessi in quanto Solr aggregazione mancava. La quantità di tempo per serializzare da e verso XML solo prestazioni assolutamente ucciso. Per i piccoli risultati imposta, però, era perfettamente soddisfacente.
  4. Best documentazione che ho visto in un app open source

Solr vantaggi:

  1. Può essere esteso.
  2. può colpire direttamente da una web app, vale a dire, è possibile avere le ricerche di completamento automatico-come ha colpito il server Solr direttamente tramite la tecnologia AJAX.

Nota: Non ci sono molti utenti con la stessa domanda in mente

.

Quindi, per rispondere al punto:

Quali e perché?

  • Usa Solr se si intende utilizzare nel vostro web-app (ad esempio in loco dei motori di ricerca). Sarà sicuramente rivelarsi grande, grazie alla sua API. Avrete sicuramente bisogno che il potere per un web-app.

  • Usa Sphinx se si desidera effettuare la ricerca attraverso tonnellate di documenti / file reale veloce. indici reale veloce. Suggerirei di non usarlo in un app che coinvolge JSON o XML parsing per ottenere i risultati di ricerca. Usalo per ricerche dirette dB. E le grandi opere su MySQL.

Alternative

Anche se questi sono i giganti, ci sono molti di più. Inoltre, ci sono quelli che utilizzano questi per alimentare i loro quadri personalizzati. Quindi, direi che davvero non hanno perso qualsiasi. Anche se v'è una elasticsearch che ha una buona base di utenti.

Sono stato utilizzando Sfinge per quasi un anno ormai, ed è stato fantastico. Posso indice di 1,5 milioni di documenti in circa un minuto sul mio MacBook, e ancora più veloce sul server. Sono anche utilizzando Sfinge per limitare le ricerche ai posti all'interno specifici latitudini e longitudini, ed è molto veloce. Inoltre, come i risultati sono classificati è molto tweakable. Facile da installare e messa a punto, se si legge un tutorial o due. Quasi 1.0 Stato, ma i loro candidati di uscita sono stati roccia solida.

Lucene / Solr sembra essere più funzionalità e più anni di attività e di una comunità di utenti molto più forte. imho se è possibile superare i problemi di installazione iniziali come alcuni sembra aver affrontato (non abbiamo) allora direi Lucene / Solr è la soluzione migliore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top