Skip to content

Design rules

thomas loubrieu edited this page Nov 14, 2025 · 6 revisions

OpenSearch Document structure (flat version)

In in opensearch, all the product's field values are stored as lists, except:

  • "lid",
  • "vid",
  • "lidvid",
  • "title",
  • "product_class",
  • "_package_id"

The following field should be a list, as a result of legacy development:

  • "ops:Tracking_Meta/ops:archive_status"
    

Registry-sweeper/repair-kit is in charge of fixing the OpenSearch document fields which do not follow this rule. This happens regularly because of mis-handling of the list/scalar status in past version of harvest.

On bundle and collection hierarchy

In the PDS4 labels, The relationships bundles-collections or collections-observational_products is sometimes managed as LID instead of full LIDVID.

For these cases, harvest implements some logic to create the relationship in OpenSearch.

To Be Completed

null string value

To match with the OpenSearch schema rules, in a few cases absent values are coded as null strings:

This field is null when it is not superseeded by any other product:

"ops:Provenance.ops:superseded_by": ["null"],

This field is null because it has ben deprecated:

"ops:Provenance.ops:registry_sweepers_provenance_version": ["null"],

Clone this wiki locally