Solr 1.4 Enterprise Search Server recomienda realizar grandes actualizaciones en una copia del núcleo y luego cambiarlas por el núcleo principal. Estoy siguiendo estos pasos:¿Cómo creo un núcleo de solr con los datos de uno existente?
- Crear núcleo de preparación: http://localhost:8983/solr/admin/cores?action=CREATE&name=prep&instanceDir=main
- Realizar actualización del índice, a continuación, confirmar/optimizar el núcleo de preparación.
- Intercambiar principal y preparación del núcleo: http://localhost:8983/solr/admin/cores?action=SWAP&core=main&other=prep
- Unload núcleo de preparación: http://localhost:8983/solr/admin/cores?action=UNLOAD&core=prep
El problema que estoy teniendo es, el núcleo creado en el paso 1 no tiene ningún dato en ella. Si voy a hacer un índice completo de todo y el fregadero de la cocina, estaría bien, pero si solo quiero actualizar un subconjunto (grande) de los documentos, obviamente eso no va a funcionar.
(podría fusionar los núcleos, pero parte de lo que estoy tratando de hacer es deshacerse de los documentos eliminados sin tratar de hacer una lista de ellos.)
¿Hay alguna bandera a la acción create que me estoy perdiendo? El Solr Wiki page for CoreAdmin es un poco escaso de detalles.
Posible solución: Replicación
Alguien en Solr usuario sugirió el uso de la replicación. Para utilizarlo en este escenario (a mi entender) requieren los pasos siguientes:
- Crear un nuevo núcleo PREP con sede fuera de la configuración del núcleo PRINCIPAL
- Cambiar la configuración del núcleo principal para ser un maestro
- Cambiar la configuración del núcleo PREP para que sea un esclavo
- Causa/¿espera una sincronización?
- cambie la configuración del núcleo PREP para que deje de ser un esclavo
- Realice una actualización de índice, luego confirme/optimice en el núcleo PREP.
- PREP Intercambiar y núcleos PRINCIPALES
Una configuración más simple basada en la replicación sería configurar un núcleo PREP permanente que es siempre el maestro. El núcleo MAIN (en tantos servidores como sea necesario) podría ser un esclavo del núcleo PREP. La indexación podría ocurrir en el núcleo de PREP tan rápido o tan lento como sea necesario.
Posible solución: PREP Permanente núcleo y de doble actualizar
Otra idea que se me ocurrió fue esto (también involucra un núcleo PREP permanente):
- Realizar actualización del índice, a continuación, confirmar/optimizar el Núcleo PREP.
- Cambie los núcleos PREP y MAIN.
- Vuelva a realizar la actualización del índice, luego confirme/optimice en lo que ahora es el núcleo de PREP. Ahora tiene los mismos datos que el núcleo MAIN (en teoría) y estará disponible, listo para la próxima operación de índice.
Creo que el procedimiento está destinado a reindexar todo. ¿Qué estás usando para indexar? DIH o un proceso personalizado? –
Un proceso personalizado. – stannius
¿ha intentado simplemente actualizar los documentos en el mismo núcleo? realmente funciona tan mal? –