Skip to content

Search: fallback-aware discovery through source locales #81

Description

@58bits

Context

Ordinary reads and search have intentionally different locale behavior:

  • reads with onMissingLocale: 'fallback' resolve [requested, document source_locale];
  • indexing reads each configured locale with onMissingLocale: 'omit', so every index slice contains only genuine published translations;
  • SearchQuery.locale filters one slice exactly.

A document can therefore render through its source-locale floor while remaining absent from search in the preferred content locale.

Goal

Design fallback-aware discovery that can find the documents a visitor can actually read without duplicating fallback copies into every index slice or merging unrelated locale searches host-side.

Design questions

  • Should the index carry sourceLocale and available-locale metadata on each projection?
  • Can a provider select the preferred row when present and otherwise the source row once per logical document?
  • How are analyzers and ranking handled when fallback rows use different languages?
  • How do highlights and hit locale communicate that the result fell back?
  • How do zone search, pagination, facets, authorization, and hydration compose?
  • Is fallback behavior opt-in per query, collection, or host?

Constraints

  • Return each logical document at most once.
  • Do not index source text as though it were authored in every missing locale.
  • Do not query every locale and blend incomparable scores without an explicit ranking model.
  • Preserve the actual matched locale and fallback provenance on the hit.

Trigger

Promote when an installation plans to change its operational default content locale, accumulates documents anchored outside that default, or requires search to match the reach of fallback-rendered pages.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: i18nInternationalization and translationsarea: searchSearch, indexing, and retrievalenhancementNew feature or requestpriority: deferredWaiting on an explicit named trigger

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions