Feature: Use alias-backed Solr targets for ontology search indexing (ALT)#280
Draft
Feature: Use alias-backed Solr targets for ontology search indexing (ALT)#280
Conversation
Renames hardcoded collection names to alias-based names: - :term_search_core1 → :term_search (bootstrap: :term_search_bootstrap) - :prop_search_core1 → :prop_search (bootstrap: :prop_search_bootstrap) This enables the SolrCloud alias re-index workflow for term and property search models. Ontology metadata models remain plain collections with no alias (no re-index support needed).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Renames Solr collection references and enables SolrCloud alias-backed re-indexing for term and property search models.
Prerequisites
This PR depends on the Goo changes introduced in:
Changes
Models now reference alias names (
:term_search,:prop_search) instead of hardcoded collection names (:term_search_core1,:prop_search_core1), and declare abootstrap_collection:so Goo can set up the alias-to-collection mapping on first boot.ClassandProvisionalClass:enable_indexing(:term_search_core1)→enable_indexing(:term_search, :main, bootstrap_collection: :term_search_bootstrap)OntologyProperty,AnnotationProperty,DatatypeProperty,ObjectProperty:enable_indexing(:prop_search_core1, :property)→enable_indexing(:prop_search, :property, bootstrap_collection: :prop_search_bootstrap)OntologyandOntologySubmission: unchanged — these useenable_indexing(:ontology_metadata)with no alias, which runs in plain collection modeHow it works
On first boot, Goo creates the physical collection (e.g.
term_search_bootstrap) and an alias (term_search) pointing to it. All reads and writes go through the alias. During a full re-index, a new collection is created and indexed into, then the alias is atomically swapped — zero downtime.The
_core1suffix is dropped entirely since the old dual-core swap pattern no longer applies in SolrCloud.Test plan
bundle exec rake testpasses with a running Solr instanceterm_search→term_search_bootstrapandprop_search→prop_search_bootstrapafter first boot