2012-11-24 14 views
7

Recentemente ho iniziato a lavorare con MongoDB e Apache Solr. Sto usando MongoDB come archivio dati e voglio che Apache Solr crei l'indice per i miei dati per la funzione di ricerca nella mia applicazione.Un modo semplice per sincronizzare i dati tra MongoDB e Apache Solr

Dopo alcune ricerche ho scoperto che esistono fondamentalmente 2 metodi per sincronizzare i dati tra MongoDB e Solr.

1) con Solr DataImportHandler -

Per questo ho utilizzato SolrMongoImporter creato da James e seguito il suo tutorial su github

ero in grado di eseguire correttamente l'importazione Handler e Solr identificato l'ImportHandler ma non era importazione di qualsiasi documento in solr. Ogni volta che diceva documenti aggiornati = 0.

2) Poi ho provato a passare al lato MongoDB, per vedere se qualcosa esiste e ho trovato MongoDBConnector fornito da 10gen.

Quando ho seguito le istruzioni e ho eseguito il connettore, sta tentando di inviare molti documenti a Solr e fornisce il seguente output.

2012-11-24 15:15:20,665 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 
2012-11-24 15:15:21,674 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.009 seconds. 
2012-11-24 15:15:22,683 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:23,694 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 
2012-11-24 15:15:24,702 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:25,711 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds. 
2012-11-24 15:15:26,722 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds. 

Ma non ci sono dati in Solr.

Volevo sapere quale approccio ha funzionato per voi ragazzi, e c'è un buon tutorial su MongoDB e Solr Integration.

Inoltre, sto cercando una sincronizzazione in tempo reale tra MongoDB e solr, vale a dire non appena un prodotto viene aggiunto al mio mongodb, lo voglio aggiornato nell'indice solr e si riflette nei risultati di ricerca.

Sto usando MongoDB 2.0.4 e Solr 3.6.1.

+0

Anche se non è java, potresti trovare qualche ispirazione in questo [collegamento] (http://derickrethans.nl/mongodb-and-solr.html). – Eric

risposta

2

Hadoop è un'opzione per la creazione di indici SOLR. Non ho fatto questo prima mano, ma ho sentito da persone such as etsy chi sono.

Su this course in rivoluzione lucene hanno parlato dell'uso di hadoop per aggiornare gli indici in alcuni core SOLR. Sfortunatamente non penso che il materiale del corso sia disponibile pubblicamente.

E allo this talk l'oratore ha parlato del supporto mongo/hadoop.

Altri link correlati:

1

Hai impostare la modalità di set di repliche? http://docs.mongodb.org/manual/reference/replica-configuration/

All'inizio, stavo ottenendo lo stesso risultato descritto, anche se non c'erano dati in Solr. Dopo, ho impostato la modalità di replica, sembra che il file oplog sia stato creato e mongodbconnector stia sincronizzando correttamente con SOLR. Funziona molto bene per me.

+0

sarà utile, se spieghi come configurare la modalità di replica per farlo funzionare ... – shivadarshan

Problemi correlati