Allow for live swapping of active indexes

Description

Currently, if the entire hibernate search/lucene index requires reindexing, we sometimes need to completely clear the lucene indexes and start over. In this case, it would be nice to be able to rebuild the indexes separately and then swap in/out the indexes.

Case – we have about 380,000 records in our primary index with four other supporting indexes for different sub-entities. The index files themselves are 2.8 GB in size and contain both full-text and hibernate entity data. Re-indexing can take over 3+ hours depending on performance. During this period, our lucene indexes are unavailable or less than useful as they don't represent a complete version of our content.

Features:

  1. allow reindexing to occur in an alternate location

  2. allow hibernate to "swap" the reindexed version for the "live" version once indexing is complete

  3. allow new "writes" or "deletes" to occur in both indexes

Environment

None

Assignee

Yoann Rodière

Reporter

adamb

Suitable for new contributors

None

Pull Request

None

Feedback Requested

None

Components

Affects versions

Priority

Major
Configure