Archivo de la categoría 'Lucene'

Fix en la clase CheckIndex

Hace 3 días escribía sobre un update en la clase CheckIndex que permitía arreglar índices de Lucene corruptos. Pues bien, justo hoy a raíz de un post sobre un bug que detectaba segmentos con documentos eliminados como erróneos, Michael McCandless ha vuelto a actualizar la clase. Os la dejo aquí de nuevo con el fix.

Restauración de un índice de Lucene corrupto

Aunque es muy difícil que un índice de Lucene acabe corrompiéndose puesto que el sistema de Index Managing está preparado para soportar caídas de la JVM ya sean provocadas (p.e. con un ‘kill -9′. Y siempre pienso ¿no sería mejor añadir un poquito de lógica a la aplicación para poder cerrarla bien en cualquier momento? Pero sólo se queda en es eso… en un pensamiento) o imprevistas, podemos encontrarnos con situaciones poco deseables si, por ejemplo, se nos cae la máquina con la que estamos indexando en medio del proceso.

Aunque parece que el equipo de Lucene está trabajando en su versión 2.3 entre otras cosas para evitar este tipo de problemas y así mantener en todo momento la consistencia del índice, existe la posibilidad de chequear y recuperar ajustando un poco la clase CheckIndex con este parche desarrollado por Michael McCandless. Sólo tendremos que lanzar el proceso con el parámetro “-fix” y se recorrerá todo el índice arreglando las inconsistencias que pueda haber.

¡Mejor que nunca lo necesiteis!