docs(adr): propose unified search index mapping#2662
Open
dschmidt wants to merge 1 commit intoopencloud-eu:mainfrom
Open
docs(adr): propose unified search index mapping#2662dschmidt wants to merge 1 commit intoopencloud-eu:mainfrom
dschmidt wants to merge 1 commit intoopencloud-eu:mainfrom
Conversation
Propose a single central Go-struct + overrides map as the source of truth for the search index layout across bleve and OpenSearch — the same definition drives the per-backend index mapping, the write-time adapter, the hit-decoding path, and the KQL compiler's case-folding rules, so the two backends cannot drift silently again. Also records the end-to-end case-handling principle for facet data (indexed as case-preserving keywords so aggregation buckets return correct display values), the sibling-field pattern for geopoint on Location, and the rationale for replacing the two backends' implicit defaults with an explicit, backend-agnostic contract. PR opencloud-eu#2659 is a proof-of-concept implementation the proposal emerged from; scope and APIs there will be revisited once this ADR lands.
e94393b to
8954125
Compare
|
Contributor
Author
|
Updated it to make it more focused :) |
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.



📄 Rendered ADR: https://github.com/dschmidt/opencloud/blob/docs/adr-reflection-based-search-mapping/docs/adr/0005-unified-search-index-mapping.md
Proposes ADR 0005 — a single central Go-struct + overrides map as the source of truth for the search index layout across bleve and OpenSearch, so both backends stop drifting on implicit per-backend defaults and adding new index features (geopoint, case-preserving aggregation siblings, ...) becomes a one-line change in one place.
Also records the end-to-end case-handling principle for facet data (indexed as case-preserving keywords so aggregation buckets return correct display values) and the cross-backend sibling-field pattern that makes features like geopoint trivially uniform across bleve and OpenSearch.
#2659 is a proof-of-concept implementation this ADR emerged from; scope and APIs there will be revisited once the decision here lands.
Deciders TBD — please add reviewers who should sign off on the technical direction.