Distribuzione dell’indice personalizzato per la funzione Trova e sostituisci (visualizzazione Source)
Panoramica
Questa guida fornisce istruzioni dettagliate per la distribuzione dell'indice personalizzato guidesAssetLucene‑1‑custom‑1 in Adobe Experience Manager (AEM) as a Cloud Service. Anche se la funzione standard Trova e sostituisci nella vista Autore funziona senza questo indice, l’indice personalizzato è necessario in modo specifico per abilitare Trova e sostituisci nella vista Source. La vista Trova e sostituisci (Source) consente di cercare non solo il contenuto visibile creato, ma anche la struttura XML sottostante, inclusi elementi, tag e valori di attributi.
Prerequisiti
Prima di procedere con la distribuzione dell’indice, assicurati di disporre di:
- Ambiente AEM as a Cloud Service con AEM Guides installato
- Accesso alla base di codice del progetto (archivio Git)
- Accesso a Cloud Manager con autorizzazioni di distribuzione
Definizione dell’indice
Per abilitare la funzione Trova e sostituisci (visualizzazione Source), è necessario distribuire un indice personalizzato denominato guidesAssetLucene-1-custom-1 nell'ambiente AEM Cloud Service.
Nome indice
guidesAssetLucene-1-custom-1
Definizione indice (.content.xml)
Crea la seguente definizione di indice nel progetto in:
ui.apps/src/main/content/jcr_root/_oak_index/guidesAssetLucene-1-custom-1/.content.xml
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:dam="http://www.day.com/dam/1.0"
xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:oak="http://jackrabbit.apache.org/oak/ns/1.0"
xmlns:rep="internal"
jcr:mixinTypes="[rep:AccessControllable]"
jcr:primaryType="oak:QueryIndexDefinition"
async="[async,nrt]"
compatVersion="{Long}2"
evaluatePathRestrictions="{Boolean}true"
includedPaths="[/content/dam]"
reindex="{Boolean}false"
reindexCount="{Long}1"
seed="{Long}958982603885135223"
selectionPolicy="tag"
tags="[ditaSearch]"
type="lucene">
<aggregates jcr:primaryType="nt:unstructured">
<dam:Asset jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="jcr:content/renditions/original/jcr:content"
relativeNode="{Boolean}true"/>
</dam:Asset>
</aggregates>
<analyzers jcr:primaryType="nt:unstructured">
<default jcr:primaryType="nt:unstructured">
<tokenizer
jcr:primaryType="nt:unstructured"
name="Whitespace"/>
</default>
</analyzers>
<indexRules jcr:primaryType="nt:unstructured">
<dam:Asset
jcr:primaryType="nt:unstructured"
indexNodeName="{Boolean}true">
<properties jcr:primaryType="nt:unstructured">
<cqTags
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/cq:tags"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<jcrLastModified
jcr:primaryType="nt:unstructured"
name="jcr:content/jcr:lastModified"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<jcrCreated
jcr:primaryType="nt:unstructured"
name="jcr:created"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<guidesParentMaps
jcr:primaryType="nt:unstructured"
name="jcr:content/guidesParentMaps"
propertyIndex="{Boolean}true"/>
<guidesDirectParentMaps
jcr:primaryType="nt:unstructured"
name="jcr:content/guidesDirectParentMaps"
propertyIndex="{Boolean}true"/>
<ditaClass
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dita_class"
propertyIndex="{Boolean}true"/>
<nodeNameLowerCase
jcr:primaryType="nt:unstructured"
function="fn:lower-case(fn:name())"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"/>
<cqDriveLock
jcr:primaryType="nt:unstructured"
name="jcr:content/cq:driveLock"
propertyIndex="{Boolean}true"
ordered="{Boolean}true"/>
<docState
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/docstate"
propertyIndex="{Boolean}true"
ordered="{Boolean}true"/>
<jcrPath
jcr:primaryType="nt:unstructured"
function="fn:path()"
ordered="{Boolean}true"/>
<dcTitleLowerCase
jcr:primaryType="nt:unstructured"
function="fn:lower-case(jcr:first(jcr:content/metadata/@dc:title))"
propertyIndex="{Boolean}true"
ordered="{Boolean}true"/>
<dcTitle
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dc:title"
propertyIndex="{Boolean}true"/>
</properties>
</dam:Asset>
</indexRules>
<tika jcr:primaryType="nt:unstructured">
<mimeTypes jcr:primaryType="nt:unstructured">
<application jcr:primaryType="nt:unstructured">
<xml
jcr:primaryType="nt:unstructured"
mappedType="application/dita+xml"/>
</application>
<text jcr:primaryType="nt:unstructured">
<markdown
jcr:primaryType="nt:unstructured"
mappedType="text/markdown+source"/>
</text>
</mimeTypes>
</tika>
</jcr:root>
Passaggi della distribuzione
Per istruzioni dettagliate sulla distribuzione di indici personalizzati in AEM as a Cloud Service, visualizzare Ricerca e indicizzazione dei contenuti - AEM as a Cloud Service.
Punti importanti per questo indice
Quando segui la guida alla distribuzione, utilizza le seguenti specifiche per l’indice Find and replace:
-
Nome indice:
guidesAssetLucene-1-custom-1 -
Tipo di indice: indice completamente personalizzato (non personalizzazione dell'indice OOTB)
-
Posizione:
ui.apps/src/main/content/jcr_root/_oak_index/guidesAssetLucene-1-custom-1/.content.xml -
Proprietà pacchetto richieste:
noIntermediateSaves=trueallowIndexDefinitions=true
Reindicizzazione
La reindicizzazione viene gestita automaticamente da AEM as a Cloud Service quando distribuisci l'indice tramite la pipeline CI/CD di Cloud Manager.
L’indicizzazione viene in genere gestita automaticamente. Tuttavia, se i vecchi dati rimangono non ricercabili anche dopo la distribuzione corretta e il completamento del processo di indicizzazione, è necessario eseguire una reindicizzazione manuale dell’indice una volta.
Cosa aspettarsi
- Il processo di indicizzazione verrà avviato automaticamente dopo la distribuzione.
- Puoi monitorare l’avanzamento nella pagina della build di Cloud Manager.
- L’ambiente rimane completamente operativo durante l’indicizzazione.
Verifica
Dopo il completamento della distribuzione e dell’indicizzazione, verifica che l’indice funzioni correttamente.
Verifica distribuzione indice
Nell’ambiente di sviluppo (se CRXDE Lite è disponibile):
- Accedi a
/oak:index/guidesAssetLucene-1-custom-1. - Verifica che esista il nodo con la configurazione prevista.
Verificare la funzionalità Trova e sostituisci
La verifica principale consiste nel testare la funzione:
- Apri AEM Guides.
- Passa a Strumenti > Guide > Trova e sostituisci nell'archivio.
- Configurare una ricerca di testo nei file DITA o Markdown.
- Verifica che i risultati della ricerca vengano restituiti correttamente.
- Testare la funzionalità di sostituzione in un file di test.