On 5/19/23 15:39, Christopher Schultz wrote:
Please confirm the following:

1. Solr index is created with Solr 7.something
2. Solr 8.x is deployed and all is well
3. Index is re-built by replacing 100% of documents in the index
4. Solr 9.x is deployed and all is well

Is that correct, especially #4? I'd hate to have to literally delete the index and re-create it, since it's supposed to be online all the time and it takes hours to re-index everything.

With that sequence, you might have a problem at step 4. I am not completely sure whether all the version 7 info is gone. It might work fine.

Given that you're not in cloud mode, here is how I would arrange things. I have used this before with good success:

* Two cores.
  * Directories named example_0 and example_1
  * Cores named example and example_build

Build a new index in the example_build core and swap the cores using CoreAdmin when the full rebuild is done. Nothing ever goes down.

Using the _0 and _1 directory names stays true to the principle of least surprise. Otherwise you will find yourself in a situation where the core named "example" is housed in a directory named "example_build" because the cores have been swapped.

In cloud mode, I would use the alias feature. Have collections named "example_2023.05.20" (or whatever naming convention makes sense to you), with an alias named example that points to whichever real collection is online.

Thanks,
Shawn

Reply via email to