Configuración de los índices
Si es necesario reindexar en repositorios grandes, especialmente cuando se utiliza MongoDB y para índices de texto completo, considere la preextracción de texto y el uso de oak-run para crear el índice inicial y reindexar.
Los índices se configuran como nodos en el repositorio bajo el nodo Oak:index.
El tipo del nodo de índice debe ser oak:QueryIndexDefinition. Hay varias opciones de configuración disponibles para cada indizador como propiedades de nodo. Para obtener más información, consulte los detalles de configuración de cada tipo de indizador a continuación.
El índice de propiedades
El índice de propiedades es útil para consultas que tienen restricciones de propiedad pero no son de texto completo. Se puede configurar siguiendo el siguiente procedimiento:
-
Abra CRXDE yendo a
http://localhost:4502/crx/de/index.jsp
-
Cree un nodo en oak:index
-
Asigne un nombre al nodo PropertyIndex y establezca el tipo de nodo en oak:QueryIndexDefinition
-
Establezca las siguientes propiedades para el nuevo nodo:
- tipo:
property
(de tipo cadena) - propertyNames:
jcr:uuid
(de tipo Nombre)
En este ejemplo concreto se indiza la propiedad
jcr:uuid
, cuyo trabajo consiste en exponer el identificador único universal (UUID) del nodo al que está asociada. - tipo:
-
Guarde los cambios.
El índice de propiedades tiene las siguientes opciones de configuración:
-
La propiedad type especifica el tipo de índice y, en este caso, debe establecerse en property
-
La propiedad propertyNames indica la lista de propiedades almacenadas en el índice. En caso de que falte, el nombre del nodo se utiliza como valor de referencia del nombre de propiedad. En este ejemplo, la propiedad jcr:uuid, cuyo trabajo es exponer el identificador único (UUID) de su nodo, se agrega al índice.
-
El indicador unique que, si se establece en true agrega una restricción de unicidad en el índice de propiedad.
-
La propiedad declaringNodeTypes permite especificar un tipo de nodo determinado al que el índice sólo se aplica.
-
El indicador reindex que, si se establece en true, déclencheur un reíndice de contenido completo.
El índice ordenado
El índice ordenado es una extensión del índice de propiedad. Sin embargo, ha quedado obsoleto. Los índices de este tipo deben reemplazarse con el índice de propiedades Lucene.
Índice de texto completo de Lucene
Un indexador de texto completo basado en Apache Lucene está disponible en AEM 6.
Si se configura un índice de texto completo, todas las consultas que tienen una condición de texto completo utilizan el índice de texto completo, independientemente de si hay otras condiciones que están indizadas y de si hay una restricción de ruta.
Si no se configura ningún índice de texto completo, las consultas con condiciones de texto completo no funcionan según lo esperado.
Dado que el índice se actualiza mediante un subproceso en segundo plano asincrónico, algunas búsquedas de texto completo no están disponibles durante un período de tiempo breve hasta que finalizan los procesos en segundo plano.
Puede configurar un índice de texto completo de Lucene siguiendo el siguiente procedimiento:
-
Abra CRXDE y cree un nodo en oak:index.
-
Asigne un nombre al nodo LuceneIndex y establezca el tipo de nodo en oak:QueryIndexDefinition
-
Agregue las siguientes propiedades al nodo:
- tipo:
lucene
(de tipo cadena) - asincrónico:
async
(de tipo cadena)
- tipo:
-
Guarde los cambios.
El índice Lucene tiene las siguientes opciones de configuración:
- La propiedad type que especifica el tipo de índice debe establecerse en lucene
- La propiedad async que se debe establecer en async. Esto envía el proceso de actualización del índice a un subproceso en segundo plano.
- La propiedad includePropertyTypes, que define qué subconjunto de tipos de propiedad se incluye en el índice.
- La propiedad excludePropertyNames que define una lista de nombres de propiedades: propiedades que deben excluirse del índice.
- El indicador reindex que, cuando se establece en true, déclencheur un reíndice de contenido completo.