Domanda

Come posso impedire a CRX di aggiungere o indicizzare alberi specifici del mio contenuto nell’indice di ricerca?

 

Risposta, Risoluzione

Per impostazione predefinita, CRX non prevede un modo per escludere alcuni percorsi dall’indicizzazione, ma è possibile raggiungere questo scopo come spiegato di seguito:

  1. Per prima cosa rivedi i passaggi per apportare modifiche al file indexing_config.xml.
  2. Aggiungi le seguenti regole all’inizio del file indexing_config.xml :
    <index-rule nodeType="nt:base" condition="@excludefromindex='true'" />
    <index-rule nodeType="nt:base" condition="ancestor::*/@excludefromindex='true'" />


    Questo escluderà i nodi con la proprietà 'excludefromindex' impostata come true, e per tutti i relativi sotto-nodi.

  3. Il passaggio successivo è quello di aggiungere la proprietà 'excludefromindex' al nodo superiore dei percorsi che si desidera escludere dall’indicizzazione.

    Poiché i nodi sotto /content sono nodi cq:Page e le proprietà non possono essere aggiunte ai nodi cq:Page, definiamo un tipo di nodo mixin con la proprietà 'excludefromindex'
    .  Quando aggiungi il tipo mixin al nodo cq:Page, aggiungi automaticamente anche la proprietà 'excludefromindex'.

    Per creare il mixin:
    a. Vai a /crx/index.jsp web app e accedi come amministratore (se stai usando CRX2.3 o versioni successive vai a /crx/explorer/index.jsp)
    b. Fai clic su "Amministrazione tipo di nodo"
    c. Nello strumento CRX Amministrazione tipo di nodo, crea un tipo mixin che ha una singola proprietà 'excludefromindex' di tipo String con valore di default "true".
    d. Imposta il flag AutoCreate della proprietà su True.
    e. Utilizzando Content Explorer, aggiungi il tipo di mixin ai nodi cq:Page di livello superiore del sito che desideri escludere dalla ricerca.

  4. A questo punto, non hai ancora concluso la procedura.  Anche se hai aggiunto il tipo di nodo, il contenuto esiste ancora nell’indice di ricerca.  Per rimuovere il contenuto dall’indice di ricerca sarà necessario reindicizzare l’albero dei contenuti.

    Per fare questo, hai le seguenti opzioni:
  • Rigenera l’indice di ricerca lucene:
    a. Arresta CRX
    b. Esegui il backup ed elimina crx-quickstart/repository/workspaces/crx.default/index
    c. Avviare CRX (questo processo può richiedere molto tempo, da 1 a 48 ore, a seconda delle dimensioni dell’archivio; pianifica di conseguenza).
  • Oppure usa l’allegato 'touch_tree.jsp' per 'toccare' la parte del contenuto che desideri reindicizzare (questo non funziona in CRX2.3+, funziona solo in CRX2.2.x e versioni precedenti):

    a. Per eseguire touch_tree.jsp, prima deve essere aggiunto all’applicazione Web CRX.  Copia il file in crx-quickstart/server/runtime/0/_crx/config/.
    b. Vai su http://localhost:4502/crx e accedi come amministratore.
    c. Vai su http://localhost:4502/crx/config/touch_tree.jsp
    d. Immetti un percorso ed esegui il processo touch.

    Questo script legge ogni nodo o proprietà nell’albero e scrive gli stessi dati di risposta. Di conseguenza, questo fa sì che il contenuto venga reindicizzato.  Nota che se utilizzi la configurazione di persistenza predefinita per CRX (Tar Persistence Manager), i file tar cresceranno parecchio.  Anche durante questo processo potrebbero vedersi InvalidItemStateException se sono in corso altre scritture su CRX mentre è in esecuzione touch_tree.jsp.

ATTENZIONE: Questo non dovrebbe essere fatto in un’istanza dell’autore di CQ perché interromperà la ricerca di riferimento che si verifica quando si tenta di spostare una pagina o una risorsa.  Questo potrebbe causare la comparsa di link non validi nel vostro sito nel corso del tempo.  Tuttavia, questo processo è sicuro da usare in un’istanza di pubblicazione in CQ.

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

 

Prodotti interessati:

CRX 2.x

Scarica

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online