Show Menu
TEMAS×

Casos de uso de indización de Oak-run.jar

Oak-run admite la indexación de casos de uso en la línea de comandos sin tener que orquestar la ejecución de estos casos de uso a través de la consola JMX de AEM.
Los beneficios generales de utilizar el método de comando de índice oak-run.jar para administrar índices Oak son:
  1. El comando de índice Oak-run proporciona un nuevo conjunto de herramientas de indexación para AEM 6.4.
  2. La ejecución de Oak disminuye el tiempo de reindexación, lo que reduce los tiempos de reindexación en repositorios más grandes.
  3. La ejecución de Oak reduce el consumo de recursos durante la reindexación en AEM, lo que mejora el rendimiento general del sistema.
  4. Oak-run proporciona reindexación fuera de banda, soporta situaciones en las que la producción debe estar disponible y no puede tolerar el mantenimiento o el tiempo de inactividad que, de lo contrario, se requiere para volver a indexar.
Las secciones siguientes proporcionan comandos de ejemplo. el comando de índice de ejecución de Oak admite todas las configuraciones de NodeStore y BlobStore. Los ejemplos que se proporcionan a continuación se refieren a las configuraciones que tienen FileDataStore y SegmentNodeStore.

Caso de uso 1 - Comprobación de coherencia de índice

Se trata de un caso de uso relacionado con la corrupción de índices. En algunos casos no fue posible determinar cuáles de los índices están corruptos. Por lo tanto, Adobe ha proporcionado herramientas que:
  1. Realiza comprobaciones de coherencia del índice en todos los índices y proporciona un informe en el que los índices son válidos y no son válidos;
  2. La herramienta se puede utilizar incluso si AEM no es accesible;
  3. Es fácil de usar.
La comprobación de índices dañados se puede realizar mediante --index-consistency-check la operación:
java -jar oak-run*.jar index --fds-path=/path/to/datastore  /path/to/segmentstore/ --index-consistency-check

Esto generará un informe en indexing-result/index-consistency-check-report.txt . Consulte a continuación un informe de muestra:
Valid indexes :
        - /content/oak:index/enablementResourceName
        - /oak:index/cqProjectLucene
        - /oak:index/cqTagLucene
        - /oak:index/lucene
        - /oak:index/ntBaseLucene
        - /oak:index/socialLucene
    Invalid indexes :
        - /oak:index/atDamIndex
        - /oak:index/atIndex
        - /oak:index/cqPageLucene
        - /oak:index/damAssetLucene
        - /oak:index/groups
        - /oak:index/slingeventJob
        - /oak:index/users
        - /oak:index/workflowDataLucene
    Ignored indexes as these are not of type lucene:
        - /oak:index/acPrincipalName
        - /oak:index/active

Beneficios

La asistencia técnica y el administrador del sistema pueden utilizar esta herramienta para determinar rápidamente qué índices están dañados y luego volver a indexarlos.

Caso de uso 2 - Estadísticas de índice

Para diagnosticar algunos de los casos relacionados con el rendimiento de la consulta, Adobe requería con frecuencia una definición de índice existente, las estadísticas relacionadas con el índice de la configuración del cliente. Hasta ahora, esta información se ha dispersado en varios recursos. Para facilitar la solución de problemas, Adobe ha creado herramientas que:
  1. Volcar toda la definición de índice presente en el sistema en un solo archivo JSON;
  2. Retirar estadísticas importantes de índices existentes;
  3. Volcar el contenido del índice para un análisis sin conexión;
  4. Se podrá utilizar incluso si AEM no está accesible
Las operaciones anteriores ahora se pueden realizar mediante los siguientes comandos de índice de operaciones:
  • --index-info - Recopila y extrae diversas estadísticas relacionadas con los índices
  • --index-definitions - Recopila y genera definiciones de índice
  • --index-dump - Voltea el contenido del índice
Vea a continuación un ejemplo de cómo funcionan los comandos en la práctica:
java -jar oak-run*.jar index --fds-path=/path/to/datastore  /path/to/segmentstore/ --index-info --index-definitions --index-dump

Los informes se generarían en indexing-result/index-info.txt y indexing-result/index-definitions.json
Además, los mismos detalles se proporcionan a través de la consola web y formarían parte del zip de volcado de configuración. Se puede acceder a ellos en la siguiente ubicación:
https://serverhost:serverport/system/console/status-oak-index-defn

Beneficios

Esta herramienta permite recopilar rápidamente todos los detalles requeridos relacionados con la indexación o los problemas de consulta y reducir el tiempo empleado en extraer esta información.

Caso de uso 3 - Reindexación

Según los escenarios , en algunos casos es necesario reindexar. Actualmente, la reindexación se realiza estableciendo el reindex indicador en true el nodo de definición de índice mediante CRXDE o a través de la interfaz de usuario del Administrador de índices. Una vez configurado el indicador, el reindexado se realiza de forma asíncrona.
Algunos puntos a destacar en torno al reindexado:
  • El reindexado es mucho más lento en DocumentNodeStore las configuraciones en comparación con SegmentNodeStore las configuraciones donde todo el contenido es local;
  • Con el diseño actual, mientras se produce el reindexado asíncrono, el indizador se bloquea y todos los demás índices asíncronos se quedan antiguos y no se actualizan mientras dure la indexación. Debido a esto, si el sistema está en uso, es posible que los usuarios no vean los resultados actualizados;
  • La reindexación implica la inversión de todo el repositorio, lo que puede poner una carga elevada en la configuración de AEM y afectar así a la experiencia del usuario final;
  • Para una DocumentNodeStore instalación en la que el reindexado puede tardar bastante tiempo, si falla la conexión a la base de datos de Mongo en mitad de la operación, la indexación debería reiniciarse desde cero;
  • En algunos casos, el reindexado puede llevar mucho tiempo debido a la extracción de texto. Esto es especialmente específico para configuraciones que tienen muchos archivos PDF, donde el tiempo empleado en la extracción de texto puede afectar al tiempo de indexación.
Para alcanzar estos objetivos, la herramienta de indexación de roble admite diferentes modos de reindexación que pueden utilizarse según sea necesario. El comando oak-run index proporciona las siguientes ventajas:
  • reindexación fuera de banda: el reindexado de roble se puede realizar de forma independiente de la configuración de AEM en ejecución y, por tanto, minimiza el impacto en la instancia de AEM que se está utilizando;
  • reindexación fuera de ruta: el reindexado se lleva a cabo sin afectar a las operaciones de indexación. Esto significa que el indizador asincrónico puede seguir indexando otros índices;
  • Reindexación simplificada para instalaciones de DocumentNodeStore: en DocumentNodeStore instalaciones, el reindexado se puede realizar con un único comando que garantice que el reindexado se realiza de la manera más óptima posible;
  • Es compatible con la actualización de definiciones de índice y la introducción de nuevas definiciones de índice

Reindex - DocumentNodeStore

Para DocumentNodeStore instalaciones, el reindexado se puede realizar mediante un único comando de ejecución de roble:
java -jar oak-run*.jar index --reindex --index-paths=/oak:index/lucene --read-write --fds-path=/path/to/datastore mongodb://server:port/aem

Esto proporciona los siguientes beneficios
  • Impacto mínimo en la ejecución de instancias de AEM. La mayoría de las lecturas se pueden realizar desde servidores secundarios y la ejecución de cachés de AEM no se ve afectada de forma adversa debido a todos los recorridos necesarios para el reindexado;
  • Los usuarios también pueden proporcionar un JSON de un índice nuevo o actualizado a través de la --index-definitions-file opción.

Reindex - SegmentNodeStore

Para SegmentNodeStore las instalaciones, el reindexado puede realizarse de una de las siguientes maneras:

Reindexación en línea - SegmentNodeStore

Siga la manera establecida en la que el reindexado se realiza a través del reindex indicador de configuración.

Reindexación en línea - SegmentNodeStore - La instancia de AEM se está ejecutando

Para SegmentNodeStore las instalaciones, solo un proceso puede acceder a los archivos de segmentos en modo de lectura y escritura. Debido a esto, algunas operaciones de indexación en roble requieren pasos manuales adicionales.
Esto implicaría lo siguiente:
  1. Texto del paso
  2. Conecte el oak-run archivo al mismo repositorio que utiliza AEM en modo de solo lectura y realice la indexación. Un ejemplo de cómo lograr esto:
    java -jar oak-run-1.7.6.jar index --fds-path=/Users/dhasler/dev/cq/quickstart/target/crx-quickstart/repository/datastore/ --checkpoint 26b7da38-a699-45b2-82fb-73aa2f9af0e2 --reindex --index-paths=/oak:index/lucene /Users/dhasler/dev/cq/quickstart/target/crx-quickstart/repository/segmentstore/
    
    
  3. Finalmente, importe los archivos de índice creados mediante la operación desde la ruta de acceso desde la que IndexerMBean#importIndex oak-run guardó los archivos de indexación después de ejecutar el comando anterior.
En este escenario no es necesario detener el servidor AEM ni aprovisionar ninguna instancia nueva. Sin embargo, dado que la indexación implica la inversión de todo el repositorio, aumentaría la carga de E/S en la instalación, afectando negativamente el rendimiento del tiempo de ejecución.

Reindexación en línea - SegmentNodeStore - La instancia de AEM se cierra

Para SegmentNodeStore las instalaciones, el reindexado se puede realizar mediante un único comando de ejecución de roble. Sin embargo, es necesario cerrar la instancia de AEM.
Puede activar la reindexación con el siguiente comando:
java -jar oak-run*.jar index --reindex --index-paths=/oak:index/lucene --read-write --fds-path=/path/to/datastore  /path/to/segmentstore/ 

La diferencia entre este enfoque y el explicado anteriormente es que la creación de puntos de comprobación y la importación de índices se realizan automáticamente. La desventaja es que AEM debe estar inactivo durante el proceso.

Reíndice fuera de banda - SegmentNodeStore

En este caso de uso, puede realizar reindexación en una configuración clonada para minimizar el impacto en la instancia de AEM en ejecución:
  1. Cree un punto de comprobación mediante una operación JMX. Para ello, vaya a la consola de JMX y busque CheckpointManager . A continuación, haga clic en la operación createCheckpoint(long p1) utilizando un valor alto para la caducidad en segundos (por ejemplo, 2592000 ).
  2. Copiar la crx-quickstart carpeta en un equipo nuevo
  3. Realizar reindexación mediante el comando de índice oak-run
  4. Copiar los archivos de índice generados en el servidor AEM
  5. Importe los archivos de índice mediante JMX.
En este caso de uso, se da por hecho que el almacén de datos es accesible en otra instancia, lo cual puede no ser posible si FileDataStore se coloca en una solución de almacenamiento basada en la nube como EBS. Esto excluye el escenario en el que FileDataStore también se clonó. Si la definición de índice no realiza la indexación de texto completo, no se requiere el acceso a DataStore .

Caso de uso 4 - Actualización de definiciones de índice

Actualmente, puede enviar los cambios en la definición del índice mediante el paquete ACS Asegúrese de que el índice sea igual a. Esto permite el envío de las definiciones de índice a través de un paquete de contenido que posteriormente requiere que el reindexado se realice mediante la configuración del reindex indicador en true .
Esto funciona bien en instalaciones más pequeñas donde el reindexado no lleva mucho tiempo. Sin embargo, para repositorios muy grandes, el reindexado se realizará en una cantidad de tiempo considerablemente mayor. En estos casos, ahora podemos utilizar la herramienta de indexación de roble.
Oak-run ahora admite la provisión de definiciones de índice en formato JSON y la creación de índice en modo fuera de banda donde no se realizan cambios en una instancia activa.
El proceso que debe tener en cuenta para este caso de uso es:
  1. Un desarrollador actualizaría las definiciones de índice en una instancia local y luego generaría un archivo JSON de definición de índice mediante la --index-definitions opción
  2. El JSON actualizado se proporciona al administrador del sistema
  3. System Administrator sigue el enfoque fuera de banda y prepara el índice en una instalación diferente
  4. Una vez finalizado, los archivos de índice generados se importarán en una instalación de AEM en ejecución.