跳转至

OpenSearch / Elasticsearch Adapter

结论

OpenSearch / Elasticsearch 仍保留为规模化 D3 检索投影 adapter 候选,不作为 P0 默认依赖。当前已新增 OpenSearchSearchConnector skeleton,用来固定 adapter contract 和后续 conformance 接入方式。

当前原则:

  • 本地和 CI 默认不要求 OpenSearch 服务。
  • 配置 HARNESS_OPENSEARCH_URL 后,adapter 会进入 SearchConnector conformance connector 集合。
  • 即使用外部检索服务,权限、lifecycle、metadata filter、explain、delete/supersede 语义仍必须由 SearchConnector contract 和 Tool Gateway 共同约束。

当前状态

已完成:

  • adapter 文件:framework/context/adapters/opensearch_search.py
  • optional availability gate:opensearch_adapter_available()
  • conformance 注册:有 HARNESS_OPENSEARCH_URL 时加入 opensearch
  • 测试:未配置 URL 时明确 skip / 不注册,不阻塞 CI

运行方式:

bash HARNESS_OPENSEARCH_URL='http://localhost:9200' \ HARNESS_OPENSEARCH_INDEX='harness_context_documents' \ python scripts/search_connector_conformance.py --connector all --write-report

风险

  • OpenSearch 很容易把相关性排序做强,但把权限、删除传播、对象存在性泄漏做弱。
  • 不能直接把 _source、内部 _id、index name、debug query 或 owner 信息暴露给模型。
  • 不能用 OpenSearch 代替 Domain Topology;它只是 Runtime Projection 中的 D3 检索投影 adapter。

下一步

  1. 用本地容器或远程 dev cluster 跑 live conformance。
  2. 增加删除传播、重建延迟、权限变更后的 stale index benchmark。
  3. 与 Postgres FTS/pgvector 对照延迟、成本、运维复杂度和权限语义一致性。