I have deployed Solr in Solrcloud mode (Operator) and although I am pretty good with K8s I am fairly new to Solr. I have worked with nosql darabases but Solr interests me and so I deployed it in my lab.
Now I am going through different architectural use cases and want to underdtand (Re) Indexing in Solr and the use of aliases and how LBs might make it easier in production.
So I have a collection with one core (all fields stored and indexed) (basic case). Now lets assume I want to replicate a scenario like a hot swap in production. Now I would create two aliases (a and b) and point alias a to the productive search collection. I would then create a second alias (b) and reindex into a seperate collection (with its own core) and swap the aliases to the reindexed collection. My question:
- Is the process ok? I have a problem underdtanding the concept of collections, cores and indexes and how they interplay. Or do I reindex into a seperate core but in the same collection?.
- In the above scenario, what if during the reindexing iperation the productive collection gets updates? Isnt the data after the switch not out-of-sync? In this use case which certainly happens all the time, I wouldnt want the request to run into empty queries or lost data.
- How might a LB make the process easier? 2nd solrcloud cluster?