We have a fairly large website (about 70,000 nodes) that we have added two new examine indexes to.
All is fine in our dev environment, which only has about 400 nodes, but once deployed to our UAT environment (a fairly recent copy of production), one of the two indexes is incomplete (5658 indexed out of 28839) and the other is empty (should contain 559 documents).
I am able to reproduce this locally with a copy of the database.
Running in debug, the log shows the following for the incomplete index rebuild (triggered from Developer section in Umbraco):
2018-04-06 09:14:35,601 [P8728/D2/T127] DEBUG Umbraco.Web.UmbracoModule - Begin request: http://localhost:62543/umbraco/BackOffice/Api/ExamineManagementApi/PostRebuildIndex?indexerName=ArticleIndexer.
2018-04-06 09:14:35,632 [P8728/D2/T127] DEBUG Umbraco.Core.Sync.DatabaseServerMessenger - Syncing from database...
2018-04-06 09:14:35,671 [P8728/D2/T127] DEBUG Umbraco.Core.Sync.DatabaseServerMessenger - Complete (took 41ms)
2018-04-06 09:14:35,686 [P8728/D2/T127] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Rebuilding index, Provider=ArticleIndexer, NodeId=-1
2018-04-06 09:17:37,551 [P8728/D2/T6] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index deleted for term: __IndexType with value content, Provider=ArticleIndexer, NodeId=-1
2018-04-06 09:17:37,557 [P8728/D2/T6] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index created for node 4483, Provider=ArticleIndexer, NodeId=4483
2018-04-06 09:17:37,616 [P8728/D2/T6] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index created for node 6013, Provider=ArticleIndexer, NodeId=6013
[... 5654 more lines for other documents ...]
2018-04-06 09:19:05,087 [P8728/D2/T6] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index created for node 79599, Provider=ArticleIndexer, NodeId=79599
2018-04-06 09:19:05,103 [P8728/D2/T6] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index created for node 79611, Provider=ArticleIndexer, NodeId=79611
2018-04-06 09:19:05,103 [P8728/D2/T6] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index deleted for term: __IndexType with value media, Provider=ArticleIndexer, NodeId=-1
2018-04-06 09:19:06,683 [P8728/D2/T120] DEBUG Umbraco.Web.UmbracoModule - Begin request: http://localhost:62543/umbraco/BackOffice/Api/ExamineManagementApi/PostCheckRebuildIndex?indexerName=ArticleIndexer.
2018-04-06 09:19:06,683 [P8728/D2/T120] DEBUG Umbraco.Core.Sync.DatabaseServerMessenger - Syncing from database...
2018-04-06 09:19:06,717 [P8728/D2/T120] DEBUG Umbraco.Core.Sync.DatabaseServerMessenger - Complete (took 24ms)
2018-04-06 09:19:06,720 [P8728/D2/T120] WARN Umbraco.Web.WebServices.ExamineManagementApiController - Property value was null when setting up property on indexer: ArticleIndexer property: DirectoryFactory
I have looked at the node with ID 79611 and the next one after in the umbraco.config, but didn't spot anything extraordinary.
For the empty index, the log shows the following:
2018-04-05 16:48:28,576 [P8728/D2/T114] DEBUG Umbraco.Web.UmbracoModule - Begin request: http://localhost:62543/umbraco/BackOffice/Api/ExamineManagementApi/PostRebuildIndex?indexerName=AuthorIndexer.
2018-04-05 16:48:28,676 [P8728/D2/T114] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Rebuilding index, Provider=AuthorIndexer, NodeId=-1
[... some unrelated lines I believe, scheduled publishing, GetRemainingTimeoutSeconds etc]
2018-04-05 16:52:13,642 [P8728/D2/T95] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index deleted for term: __IndexType with value content, Provider=AuthorIndexer, NodeId=-1
2018-04-05 16:52:13,642 [P8728/D2/T95] DEBUG UmbracoExamine.DataServices.UmbracoLogService - Index deleted for term: __IndexType with value media, Provider=AuthorIndexer, NodeId=-1
2018-04-05 16:52:49,175 [P8728/D2/T128] DEBUG Umbraco.Web.UmbracoModule - Begin request: http://localhost:62543/umbraco/BackOffice/Api/ExamineManagementApi/PostCheckRebuildIndex?indexerName=AuthorIndexer.
Note: the internal index contains all nodes - it does take a long time to build the index (20-40 minutes depending on environment), but at least it works.
Just an idea - have you tried deleting the nodes (delete and then empty recycle bin) - so delete 79611, rebuild index, then delete the next node, rebuild.
The above might confirm if there was an issue with a specific node.
Thanks for the response and the idea.
Unfortunately that didn't get me any further, after deleting 79611 and the next node, it just stopped two nodes later.
I'd recommend not having too many indexes, the work required to build each one will be 100% the amount of work re-done as a previous index. Each index building does all of the data lookups independently so basically for each index you add, you increase the time and resources it will take to re-index items and rebuild indexes. You can quite easily use the External Index which contains all published values and just specify the correct search criteria.
I know this doesn't solve your issue but just wanted to mention this.
I guess this might be of interest, but not sure
Property value was null when setting up property on indexer: ArticleIndexer property: DirectoryFactory
Always best to use the latest Examine version though. Umbraco 7.5.3 is quite old and I'm sure there's been updates and fixes since then regarding the data lookups to populate the indexes. You should try to upgrade locally to vLatest and see what happens then.
I upgraded to 7.5.14 and this fixed the issue, plus made the indexing much faster! (I noticed this ticket regarding indexing speed: http://issues.umbraco.org/issue/U4-9420)
With the indexes generating faster, this should actually solve some of our other problems we're having with this site.
For now, I only did an upgrade within the minor version to avoid breaking changes, but we're also having discussions about a bigger upgrade with the client.
Thanks also for your comment regarding multiple indexes. Because the indexes were always so slow to build, we weren't using the external index at all. Knowing that multiple indexes are not recommended (and with the significant speed improvements after the upgrade), we will probably rework the indexes above and just use the external index instead.
Examine index empty / incomplete
-- Umbraco v7.5.3, Examine 0.1.83 (also tried 0.1.89)
We have a fairly large website (about 70,000 nodes) that we have added two new examine indexes to.
All is fine in our dev environment, which only has about 400 nodes, but once deployed to our UAT environment (a fairly recent copy of production), one of the two indexes is incomplete (5658 indexed out of 28839) and the other is empty (should contain 559 documents).
I am able to reproduce this locally with a copy of the database. Running in debug, the log shows the following for the incomplete index rebuild (triggered from Developer section in Umbraco):
I have looked at the node with ID 79611 and the next one after in the umbraco.config, but didn't spot anything extraordinary.
For the empty index, the log shows the following:
These are the two index sets we have added:
And the Indexers and Searchers:
Note: the internal index contains all nodes - it does take a long time to build the index (20-40 minutes depending on environment), but at least it works.
Any pointers would be highly appreciated.
Just an idea - have you tried deleting the nodes (delete and then empty recycle bin) - so delete 79611, rebuild index, then delete the next node, rebuild.
The above might confirm if there was an issue with a specific node.
Cheers, Nigel
Hi Nigel,
Thanks for the response and the idea. Unfortunately that didn't get me any further, after deleting 79611 and the next node, it just stopped two nodes later.
And my other index still ended up empty.
I'd recommend not having too many indexes, the work required to build each one will be 100% the amount of work re-done as a previous index. Each index building does all of the data lookups independently so basically for each index you add, you increase the time and resources it will take to re-index items and rebuild indexes. You can quite easily use the External Index which contains all published values and just specify the correct search criteria.
I know this doesn't solve your issue but just wanted to mention this.
I guess this might be of interest, but not sure
Always best to use the latest Examine version though. Umbraco 7.5.3 is quite old and I'm sure there's been updates and fixes since then regarding the data lookups to populate the indexes. You should try to upgrade locally to vLatest and see what happens then.
Hi Shannon,
Thanks for your response!
I upgraded to 7.5.14 and this fixed the issue, plus made the indexing much faster! (I noticed this ticket regarding indexing speed: http://issues.umbraco.org/issue/U4-9420)
With the indexes generating faster, this should actually solve some of our other problems we're having with this site.
For now, I only did an upgrade within the minor version to avoid breaking changes, but we're also having discussions about a bigger upgrade with the client.
Thanks also for your comment regarding multiple indexes. Because the indexes were always so slow to build, we weren't using the external index at all. Knowing that multiple indexes are not recommended (and with the significant speed improvements after the upgrade), we will probably rework the indexes above and just use the external index instead.
Cheers
is working on a reply...