Skip to content

Feature: Use alias-backed Solr targets for ontology search indexing (ALT)#280

Draft
mdorf wants to merge 2 commits intodevelopfrom
feature/solrcloud-alias-indexing-claude
Draft

Feature: Use alias-backed Solr targets for ontology search indexing (ALT)#280
mdorf wants to merge 2 commits intodevelopfrom
feature/solrcloud-alias-indexing-claude

Conversation

@mdorf
Copy link
Copy Markdown
Member

@mdorf mdorf commented Apr 14, 2026

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 a bootstrap_collection: so Goo can set up the alias-to-collection mapping on first boot.

  • Class and ProvisionalClass: 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)
  • Ontology and OntologySubmission: unchanged — these use enable_indexing(:ontology_metadata) with no alias, which runs in plain collection mode

How 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 _core1 suffix is dropped entirely since the old dual-core swap pattern no longer applies in SolrCloud.

Test plan

  • Verify bundle exec rake test passes with a running Solr instance
  • Confirm Solr shows aliases term_searchterm_search_bootstrap and prop_searchprop_search_bootstrap after first boot
  • Confirm existing search and indexing functionality is unaffected (alias is transparent to RSolr reads/writes)

mdorf added 2 commits April 13, 2026 11:32
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant