JanusGraph / JanusGraph/janusgraph

Feature Request: OpenSearch v2 and v3 Support

Open
#4,887 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
5.8k
Forks
1.2k
Avg merge
13h 53m
Merged PRs (30d)
6

Description

### Describe the feature
Add support for OpenSearch v2 and v3 as a mixed index backend.

### Describe a specific use case for the feature

**Use Case**

JanusGraph currently supports Elasticsearch v7. OpenSearch v2 and v3 are API-compatible with ES v7, but JanusGraph's version check code rejects these OpenSearch versions.

**Technical Context**

JanusGraph's ES compatibility classes for v6, v7, v8, and v9 are essentially identical, indicating that JanusGraph doesn't rely on version-specific Elasticsearch features. See the compatibility layer implementation:
https://github.com/janusgraph/janusgraph/tree/master/janusgraph-es/src/main/java/org/janusgraph/diskstorage/es/compat

**Related Discussion**

There is an ongoing discussion about Vector Search support ([#4839](https://github.com/JanusGraph/janusgraph/discussions/4839)). Note that OpenSearch ML-Commons and Elasticsearch have different vector search implementations, which may require separate consideration.

**Proposed Solution**

Modify the version validation logic to accept OpenSearch v2.x and v3.x versions, leveraging the existing ES v7 compatibility layer.

Contributor guide

Open the contributing guide

Research direction

Start in janusgraph-es/src/main/java/org/janusgraph/diskstorage/es/compat and trace the version validation logic used by the existing Elasticsearch compatibility classes. Compare the v7 compatibility path with the reported OpenSearch v2.x and v3.x version formats. Done means those versions are accepted through the ES v7 compatibility layer without affecting other version checks; inspect existing tests if the validation path identifies them.

Written by the indexing model from the issue text.

Assessment

Tech stack
elasticsearch, java
Domain
databases
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.