mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-09-27 06:27:48 -04:00
Every property of an open extension is indexed under the sibling of its value's kind (ext.<name>.<property>.@keyword/@lower/@number/@bool/@date/ @geo), so a property can change its kind between writes without a mapping change. bleve builds the fields directly and indexes them with IndexAdvanced, the mapping stays as it is; OpenSearch types them through dynamic templates under a dynamic ext object, which the reconciler compares by rule instead of by concrete field. The stored values travel with the document so Move, Delete and Restore keep the extensions. The search service follows ArbitraryMetadataUpdated events that touch an extension.