para responder a sus preguntas
1.) tengo una base de datos con alrededor de 5 millones de documentos. MySQL Fulltextsearch necesita 2-3 minutos. Solr/Lucene necesita la misma ronda de búsqueda entre 200 y 400 milisegundos.
2.) El espacio que necesita depende de su configuración, el número de campos copiados y si almacena los datos o si solo los indexa. En mi configuración, la base de datos completa está indexada, pero solo los metadatos se califican. Entonces, un DB de 30 GB necesita 40 GB para Solr/Lucene. Tenga en cuenta que si desea (re) optimizar su índice, necesita de nuevo el 100% del tamaño del índice.
3.) Si migra de MySQL fulltext-Index a Lucene/Solr, ahorrará energía de la CPU. El uso de MySQL El texto completo necesita mucha más potencia de CPU que Solr Búsqueda de texto completo -> ver respuesta 1.)
4.) depende de la cantidad de documentos, el tamaño de los documentos y la velocidad del disco. Por supuesto, el rendimiento de la CPU es muy importante. No hay una buena escala sobre múltiples CPU durante el tiempo de indexación. 2 núcleos grandes son mucho más rápidos que 8 núcleos pequeños. Indexación 5 millones de documentos (44 GB) en mi entorno necesitan 2-3 horas en un servidor dual ware VM VM.
5.) La migración de MySQL Fulltext-Index a Lucene/Solr Fulltextindex fue la mejor idea de la historia. ;-) Pero probablemente deba rediseñar su aplicación.
// Editar para responder a la pregunta "¿El Índice de Lucene se actualizan inmediatamente después de algunas instrucciones de inserción"
que depende de su configuración Solr, pero es posible
No programación relacionada. –
@Rosdi pero creo que esta pregunta tiene un impacto en el diseño de la aplicación y las herramientas y marcos que usa para crear su aplicación –