Kentico / xperience-by-kentico-lucene

Xperience by Kentico search integration with the latest 4.8 beta version of Lucene.NET
MIT License
4 stars 5 forks source link

Feature: Update existing index configuration when possible #29

Closed seangwright closed 6 months ago

seangwright commented 9 months ago

Motivation

We currently delete all related data for an index when it's updated and create new relationships from the submitted configuration.

While this works, it is noisy in Xperience's CI repository - adding 1 index path will delete all languages, channels, and paths for an index.

This also makes more difficult to use CD because removing the deleted objects will require a RestoreMode of Full which isn't compatible with most PROD environments after an initial release.

Proposed solution

We should track the identifiers of the related objects in the LuceneIndexConfigurationComponent and use that to update items that already exist, only deleting when appropriate.

Additional context

I saved a search index without making any changes to it and this is the result in the CI repository.

image

The paths that were deleted locally will need to also be deleted in non-local environments, except manually.

liparova commented 6 months ago

Thank you for your recommendation. We'll evaluate its feasibility and provide regular updates on its integration progress.

DavidSlavik commented 6 months ago

Approved for development.

bkapustik commented 6 months ago

We have created GitHub release v7.0.0 which enhances this integration with index configuration. Items no longer get deleted when it is not necessary