Meridian OpenSearch Adapter
meridian-storage-opensearch is the independently released Meridian V1 adapter for eventually
consistent structured Catalog search projections on OpenSearch. It is one Python distribution
in one public Apache-2.0 repository.
Capabilities
The sole operation surface is meridian.structured.search@1.0.0. The adapter provides:
- closed, fingerprinted mappings for full-text and declared document-path projections;
- unrestricted BCP 47 language metadata with ICU fallback, with English and Chinese initial conformance;
- deterministic document identities, externally versioned upserts, tombstones, and bounded bulk partial outcomes;
- mapping-first Query V1 translation for the released logical operator allowlist;
- mandatory tenant/scope, Resource, and tombstone filters;
- signed
search_aftercursors, plus deployment-conditional point-in-time cursors; - logical
RecordRefresults, bounded facets/highlights, and fail-closed partial-search handling; - explicit generation create/verify/activate/rollback/retire hooks with atomic alias cutover; and
- authenticated engine, ICU plugin, topology, health, alias, analyzer, replica, and mapping probes.
The exact capability manifest, supported engine patch releases, and hard limits are available from
adapter_descriptor(), capability_manifest(), and query_capabilities().
Install
python -m pip install meridian-storage-opensearch==1.0.0
The distribution requires the released Meridian Core, Query, and Semantics packages at exactly
1.0.0. Artifact hashes and locked design revisions are recorded in
compatibility.json.
Configure through a Meridian Binding
Platform or Vangu IaC supplies the endpoint or service reference, secret references, compiled layouts, topology expectations, and exact capability fingerprint. Credentials never belong in an endpoint URL or settings document.
{
"adapterId": "org.meridian.storage.opensearch",
"engineProfile": "opensearch",
"engineVersion": "2.19.1",
"serviceRef": "platform://search/case-index",
"physicalNamespace": "meridian",
"requiredCapabilityFingerprint": "sha256:<64 hex characters>",
"settings": {
"indexPrefix": "meridian",
"layouts": {
"structured:investigation.articles": {
"formatVersion": "meridian.opensearch.layout.v1"
}
},
"requiredPlugins": ["analysis-icu"],
"pitEnabled": true
}
}
layouts must contain the complete value returned by MappingCompiler.compile(...).to_dict();
the abbreviated object above only illustrates placement. Use
expected_capability_fingerprint(engine_version, settings) when producing the Binding pin.
Projection and search APIs
Adapter-internal projection workers use ProjectionExecutor with an IaC-selected write alias.
Consumers do not receive this object and never see aliases, index names, mappings, analyzers, or
OpenSearch DSL. Consumers submit released mapping-first Expressions or serialized Operations
through Meridian Core.
The projection is always derived and eventually consistent. A successful authoritative write does
not imply immediate search visibility. refresh=wait_for is available to controlled projection
and conformance workflows; it is not an authoritative transaction guarantee.
Ownership boundary
This package owns translation, mappings, analysis definitions, indexing requests, cursor behavior, generation hooks, probes, and redacted engine-failure normalization. It does not create a Search or Projection Catalog and does not expose native queries, regex, wildcard/query-string syntax, scripts, credentials, endpoints, or physical lifecycle details.
Platform/Vangu IaC owns engine selection, provisioning/reference, state, identity and ACLs, migration orchestration, recovery, and lifecycle. See architecture, migrations, and the failure model.
Verify
python -m pytest -q tests/unit tests/contract tests/packaging
./scripts/run-single-conformance.sh
./scripts/run-cluster-conformance.sh
python -m build
python scripts/verify_artifacts.py dist
The Docker harness pins OpenSearch 2.19.1 by digest and installs its matching analysis-icu
plugin. Cluster conformance uses three eligible/data nodes, one replica, green-health verification,
and a deliberate node loss. See conformance evidence.
License and security
Licensed under the Apache License 2.0. See LICENSE, NOTICE, and SECURITY.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file meridian_storage_opensearch-1.0.0.tar.gz.
File metadata
- Download URL: meridian_storage_opensearch-1.0.0.tar.gz
- Upload date:
- Size: 113.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c57b95fde2b46cfad069eed0c552e16351013266b102fcf66cdd4a399a9a7c59
|
|
| MD5 |
45bcc48b50d774e185bfff99851053eb
|
|
| BLAKE2b-256 |
4ab870e599c45a681d946312e9e372c0a54289926cad95a5306129825a2d8e6b
|
Provenance
The following attestation bundles were made for meridian_storage_opensearch-1.0.0.tar.gz:
Publisher:
release.yml on zephytiju/meridian-storage-opensearch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meridian_storage_opensearch-1.0.0.tar.gz -
Subject digest:
c57b95fde2b46cfad069eed0c552e16351013266b102fcf66cdd4a399a9a7c59 - Sigstore transparency entry: 2606949341
- Sigstore integration time:
-
Permalink:
zephytiju/meridian-storage-opensearch@17b05f84454a6b0e0fe89814bab5f444a0536fbc -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/zephytiju
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@17b05f84454a6b0e0fe89814bab5f444a0536fbc -
Trigger Event:
push
-
Statement type:
File details
Details for the file meridian_storage_opensearch-1.0.0-py3-none-any.whl.
File metadata
- Download URL: meridian_storage_opensearch-1.0.0-py3-none-any.whl
- Upload date:
- Size: 54.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37264fd6e6add145cd785e616d81a95f3a1726a40589a080896281ec5e3df21b
|
|
| MD5 |
5b2d2afc2f07f0753a55cadeaa3a607d
|
|
| BLAKE2b-256 |
7fcf891713614f68cc03264b31121a62afcf96db22ed22405196c255b57acfae
|
Provenance
The following attestation bundles were made for meridian_storage_opensearch-1.0.0-py3-none-any.whl:
Publisher:
release.yml on zephytiju/meridian-storage-opensearch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meridian_storage_opensearch-1.0.0-py3-none-any.whl -
Subject digest:
37264fd6e6add145cd785e616d81a95f3a1726a40589a080896281ec5e3df21b - Sigstore transparency entry: 2606949749
- Sigstore integration time:
-
Permalink:
zephytiju/meridian-storage-opensearch@17b05f84454a6b0e0fe89814bab5f444a0536fbc -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/zephytiju
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@17b05f84454a6b0e0fe89814bab5f444a0536fbc -
Trigger Event:
push
-
Statement type: