Come si configura Lucene in Sitecore per indicizzare solo l'ultima versione di un elemento sul db master?

Come si configura Lucene in Sitecore per indicizzare solo l'ultima versione di un elemento sul db master?

Puoi implementare un crawler personalizzato che sostituisca quanto segue:

public class IndexCrawler : DatabaseCrawler
{
    protected override void IndexVersion(Item item, Item latestVersion, Sitecore.Search.IndexUpdateContext context)
    {
        if (item.Versions.Count > 0 && item.Version.Number != latestVersion.Version.Number)
            return;

        base.IndexVersion(item, latestVersion, context);
    }
}

Ciò garantisce che solo l'ultima versione di un articolo entri nel tuo indice, e quindi sarà l'unico articolo estratto da tale indice

Dovresti aggiornare il tuo file di configurazione per impostare il tipo corretto per l'indice ovviamente


In Sitecore 7 un campo _latestversion è stato aggiunto all'indice, contenente un '1' per l'ultima versione (le altre versioni hanno un valore vuoto).


Se lasci che Lucene cerchi nel tuo database Web invece che nel Master, dovrebbe solo indicizzare l'ultima versione pubblicata.

<Database>web</Database>