Feature to rebuild content item YesSql indexes in the background
Like the Lucene index background task https://github.com/OrchardCMS/OrchardCore/blob/17868cc902a41250347605bfe1e89808624a8ade/src/OrchardCore.Modules/OrchardCore.Lucene/Services/LuceneIndexingService.cs#L55 but to Load and Save the content items, in order to recreate the indexes for instance if a part is removed from a type. Or if a new index provider is added by a module.
This should also clean the data as described in this (closed) issue https://github.com/OrchardCMS/OrchardCore/issues/8317. We can't clean the data without a user interaction, or there could be a loss of data without realizing it.
When a content part is removed, we can render a notification with a link to this feature.
The process can be a background task as long as the progress is displayed. We should not trigger this task without user interaction.
Here is the example that we have in Orchard 1 where we use an AJAX call to the controller action so that we don't hit a "request timeout" issue as a reference.
https://github.com/OrchardCMS/Orchard/blob/e9244980a4fd9d219ae2f4f91d92de74485a9254/src/Orchard.Web/Modules/Upgrade/Views/Infoset/Index.cshtml#L86-L127