Cómo comprobar y reparar las inconsistencias del índice de búsqueda

Pregunta/problema

A veces puede ocurrir que el índice Lucene de un repositorio entre en un estado inconsistente, especialmente si el repositorio se cierra de forma anormal o si el proceso Java correspondiente se elimina de forma inesperada. Dependiendo de la severidad de la inconsistencia de un índice, es posible que el repositorio ya no pueda iniciarse correctamente.

Respuesta/resolución

La clase LuceneHandler de CRX amplía la clase SearchIndex[1] de Jackrabbit, que proporciona los siguientes parámetros de configuración para comprobar y reparar las inconsistencias del índice:

Parámetro

Valor de propuesta

Descripción

enableConsistencyCheck

incorrecto

Si se ajusta a true, se realiza una comprobación de consistencia en función del parámetro forceConsistencyCheck. Si se establece en false, no se realiza ninguna verificación de consistencia al inicio.

forceConsistencyCheck

incorrecto

Ejecuta una comprobación de consistencia en cada inicio. Si es falso, sólo se realiza una verificación de consistencia cuando el índice de búsqueda detecta una parada forzada previa.

autoRepair

true

Los errores detectados por una verificación de consistencia se reparan automáticamente. Si es falso, los errores solo se recogen en el registro.

Para activar una verificación de consistencia de índice, simplemente reconfigure el archivo de configuración correspondiente de workspace.xml del espacio de trabajo en cuestión; por ejemplo, <crx_home>/crx-quickstart/repository/workspaces/crx.default/workspace.xml:

workspace.xml

<SearchIndex class="com.day.crx.query.lucene.LuceneHandler">
    ...
    <param name="enableConsistencyCheck" value="true" />
    <param name="forceConsistencyCheck" value="true" />
    <param name="autoRepair" value="true" />
</SearchIndex>

Una vez que esta configuración esté implementada, se ejecuta una comprobación de consistencia del índice al inicio que, dependiendo del volumen del repositorio y del tamaño del índice, puede tardar tiempo en terminar. En el archivo error.log de CRX, se puede supervisar el progreso de la verificación:

*INFO * SearchIndex: Running consistency check...
*INFO * ConsistencyCheck: progress: 10%
*INFO * ConsistencyCheck: progress: 20%
...

Tenga en cuenta que debe eliminar la configuración anterior de nuevo. De lo contrario, la comprobación de consistencia se activa cada vez que se reinicia el repositorio, lo que ralentiza el tiempo de inicio. Si se ajusta el valor de enableConsistencyCheck a false también se desactiva la comprobación por completo.

Reconstruir completamente el índice

Para recrear completamente el índice, detenga el repositorio, elimine los directorios de índices e inicie el repositorio. La reconstrucción del índice puede tomar algunas horas. Los directorios índice se almacenan por separado para cada nodo de clúster, en los siguientes directorios:

  • crx-quickstart/repository/repository/index
  • crx-quickstart/repository/workspaces/crx.default/index
  • crx-quickstart/repository/workspaces/crx.system/index

Aplica

CRX >= 1.4.x

 Adobe

Obtén ayuda de forma más rápida y sencilla

¿Nuevo usuario?

Adobe MAX 2024

Adobe MAX
La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX

La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX 2024

Adobe MAX
La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea

Adobe MAX

La conferencia de creatividad

Del 14 al 16 de octubre en Miami Beach y en línea