Gravatar for nkillen@arke.com

Question by nkillen, Jan 4, 2017 12:26 PM

Detect Sitecore document changes with Incremental or Full Refresh for Sitecore indexes

How does Coveo decide if a document from Sitecore has changed when running an incremental or full refresh?

1 Reply
Gravatar for sbelzile@coveo.com

Answer by Sébastien Belzile, Jan 4, 2017 12:55 PM

Coveo for Sitecore does not work like other Coveo connectors.

Normal connectors will pull the data from a source whilst Coveo for Sitecore will push, hence the usual Coveo concept of incremental or full refresh does not really apply to Coveo for Sitecore.

Sitecore provides an API for indexes, the Content Search API. They also provide an implementation of this API for Lucene, Solr and, since ~1 month, Azure Search.

The Coveo implementation is no different from the ones provided by Sitecore. Coveo implements the Sitecore provided interfaces and Sitecore sends what has to be indexed/updated to Coveo.

To answer your question: Coveo does not decide if a document from Sitecore has changed, Sitecore does. Then, for a specific item, Coveo will update the modified metadata. More on that here.

From a Rebuild perspective, Coveo will update all items provided by Sitecore and will then delete the items that have not been updated.

Gravatar for nkillen@arke.com

Comment by nkillen, Jan 11, 2017 4:01 PM

That would be true if i was running Coveo for Sitecore version 3 or above, but what if i'm using the Legacy connector Sitecore6.0CoveoWebService2.zip?

Gravatar for sbelzile@coveo.com

Comment by Sébastien Belzile, Jan 11, 2017 4:33 PM

Then I think you should update your Sitecore + Coveo :-)

Legacy connector as in the very first connector? Or the Sitecore2 connector?

Short answer: with the history engine storage.

Long answer:

There is documentation about the subject on the onlinehelp. Basically, when enabling incremental refresh for the connector, you have to enable an historyengine storage for your web DB. The Coveo crawler will retrieve the list from there.

The Sitecore2 connector works the same way, except that you have to add a couple more event handlers to log moved and deleted items.

Ask a question