We've got a fairly large umbraco site that we are maintaining for a client. One node type in particular has a custom examine indexer/searcher which is used for a search in a specific area of the site. We have a DirectoryIndexer_GatheringNodeData event that's hooked up in a startup handler which pushes some data into some defined index fields:
<IndexUserFields>
<add Name="clientBrandInfo" />
<add Name="brandIndex"/>
<add Name="productIndex"/>
</IndexUserFields>
<IncludeNodeTypes>
<add Name="DirectoryClient"/>
</IncludeNodeTypes>
We are observing an issue where periodically (can't seem to reproduce it locally) the index just drops the brandIndex and productIndex fields completely (they disappear from the index like they were never there)
If we're viewing the index data in the backoffice with the examine management dashboard, the clientBrandInfo field is still there but the brandIndex and productIndex fields do not exist.
They disappear for all nodes at the same time, and a re-index restores them.
We've checked the tracelog and there is no indication of the NodeGathering event being called for all nodes (so no full rebuild) where the custom field is being set to empty.
We log whenever this event runs and sets node information in the index.
Does anyone have any suggestions? Right now, we've scheduled the index rebuild hourly which takes around 3 minutes.
The only thing I have observed is the index shows some deletions when the problem occurs
However on testing in dev, I cannot reproduce the lost fields issue (deletions yes) even by deleting/updating/adding nodes which are indexed into lucene.