Pregunta

¿Cómo puedo evitar que CRX agregue o indexe árboles específicos de mi contenido en el índice de búsqueda?

 

Respuesta, Resolución

De forma predeterminada, CRX no incluye una forma de excluir ciertas rutas de ser indexadas; sin embargo, se puede hacer con el siguiente truco:

  1. En primer lugar, revise los pasos para realizar cambios en el archivo indexing_config.xml.
  2. Añada las siguientes reglas al principio de su archivo indexing_config.xml:
    <index-rule nodeType="nt:base" condition="@excludefromindex='true'" />
    <index-rule nodeType="nt:base" condition="ancestor::*/@excludefromindex='true'" />


    Esto excluirá los nodos con la propiedad "excludefromindex" establecida en verdadero, y para todos sus subnodos.

  3. El siguiente paso es añadir la propiedad excludefromindex al nodo superior de las rutas que desea excluir de la indexación.

    Como los nodos en /content son nodos cq:Page y no se pueden añadir propiedades a los nodos cq:Page, definiremos un tipo de nodo mixto con la propiedad
    "excludefindex".  Cuando añada el tipo de mezcla al nodo cq:Page, también añadirá automáticamente la propiedad excludefefindex.

    Para crear la mezcla:
    a. Vaya a la aplicación web /crx/index.jsp e inicie sesión como administrador (si está usando CRX2.3 o posterior, vaya a /crx/explorer/index.jsp).
    b. Haga clic en Administración de tipos de nodos.
    c. En la herramienta Administración de tipos de nodos de CRX, cree un tipo de mezcla que tenga una sola propiedad excludefefindex de tipo de cadena con el valor predeterminado True.
    d. Establezca el indicador AutoCreate de la propiedad en True.
    e. Usando el Explorador de contenido, agregue el tipo de mezcla a los nodos cq:Page de nivel superior del sitio que desea excluir de la búsqueda.

  4. En este punto, todavía no ha terminado con el proceso.  Aunque haya añadido el tipo de nodo, el contenido sigue existiendo en el índice de búsqueda.  Para eliminar el contenido del índice de búsqueda será necesario volver a indexar el árbol de contenido.

    Para ello, dispone de las siguientes opciones:
  • Reconstruya el índice de búsqueda de Lucene:
    a. Detenga CRX
    b. Haga una copia de seguridad y elimine crx-quickstart/repository/workspaces/crx.default/index
    c. Inicie CRX (este proceso puede tardar mucho tiempo, de 1 a 48 horas, dependiendo del tamaño de su repositorio. Por lo tanto, planifique el proceso en consecuencia).
  • O use el archivo touch_tree.jsp adjunto para "tocar" la parte del contenido que le gustaría reindexar. Esto no funciona en CRX2.3+, sino en CRX2.2.x y versiones anteriores:

    a. Para ejecutar touch_tree.jsp, primero tiene que agregarlo a la aplicación web CRX.  Copie el archivo en crx-quickstart/server/runtime/0/_crx/config/.
    b. Vaya a http://localhost:4502/crx e inicie sesión como administrador.
    c. Vaya a http://localhost:4502/crx/config/touch_tree.jsp
    d. Especifique una ruta y ejecute el proceso táctil.

    Este script lee cada nodo/propiedad del árbol y escribe los mismos datos. Como resultado, esto hace que el contenido sea reindexado.  Tenga en cuenta que si está utilizando la configuración de persistencia predeterminada para CRX (Tar Persistence Manager), los archivos tar crecerán bastante.  También durante este proceso puede ver InvalidItemStateException si se están haciendo otras escrituras en CRX mientras se ejecuta touch_tree.jsp.

ADVERTENCIA: Esto no debe hacerse en una instancia de autor de CQ porque romperá la búsqueda de referencia que ocurre cuando se intenta mover una página o un activo.  Esto podría causar que enlaces no válidos aparezcan en su sitio con el tiempo.  Sin embargo, este proceso es seguro de usar en una instancia de publicación de CQ.

[1] http://dev.day.com/content/kb/home/cq5/CQ5SystemAdministration/SearchIndexingConfig.html

 

Se aplica a

CRX 2.x

Descargar

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea