2012-02-18 12 views
11

Estoy trabajando en un proyecto donde tenemos millones de entradas almacenadas en la base de datos MongoDB y quiero indexar todos estos datos usando SOLR.solr Manejadores de importación de datos para MongoDB

Después de una extensa búsqueda, llegué a saber que no hay "Controladores de importación de datos" adecuados para la base de datos mongoDB.

¿Alguien puede decirme cuáles son los enfoques adecuados para indexar datos en MongoDB utilizando SOLR?

Quiero utilizar todas las características de SOLR y quiero que sea escalable en tiempo real. Vi uno o dos enfoques de diferentes puestos, pero no está seguro de cómo van a trabajar en tiempo real ..

Muchas Gracias

Respuesta

5

escribí un response a una pregunta similar, excepto que era la forma de importar datos de MySQL en SOLR . El código de ejemplo está en PHP, pero debería darle una idea general. Todo lo que tendría que hacer es configurar un iterador para recorrer sus activos MongoDB, extraer los datos a tipos de datos SOLR y luego guardarlos en su índice SOLR.

Si desea que sea en tiempo real, puede agregar un código personalizado al mecanismo de guardado (suponiendo que esto se pueda hacer con MongoDB), guardarlo directamente en el índice SOLR y ejecutar un script de confirmación para confirmar datos cada 15 minutos (a través de cron).

+0

Gracias por su respuesta. Otra pregunta interesante que se planteó cuando estaba hablando con mi compañero de cuarto es cuál es la mejor manera de indexar los datos en mongoDB, si se utilizan indexadores mongoDB o indexadores Solr, que serán más eficientes. Nos gustaría tener Faceted Search y todo lo demás. Qué opinas de esto ? – kich

+1

MongoDB es una solución NoSQL (afaik), lo que significa que es ideal para almacenar datos como descripciones de libros. Y, MongoDB es una tienda persistente, mientras que SOLR (wraps lucene), es un motor de búsqueda. Yo los usaría a ambos, MongoDB para almacenamiento persistente y SOLR para búsqueda de texto. –

+0

Gracias, no utilizaré la búsqueda de texto porque los datos que tengo en la base de datos se parecen más a los metadatos (por ejemplo, para una búsqueda de palabras clave del título del libro, dará el resultado de búsqueda de la descripción del libro, imagen, autor nombre, tiendas que ofrecen el libro) pero necesito una búsqueda facetada para presentar la información en la página web. ¿Crees que debería mongoDB para indexación y solr para búsqueda facetada o solr para indexación y búsqueda facetada? Gracias – kich

Cuestiones relacionadas