Skip to content

Add opensearch index #5

Open
@ewienik

Description

@ewienik

tl;dr

feature flag: opensearch

The vector-store is rooted in a use the Usearch library. We want to support also Opensearch as an indexing service. This issue should implement support for this.

Design

The architecture of the service is based on the actor framework. The Usearch index functionality is implemented in the index actor. The Opensearch functionality should be implemented in a separate actor. API for both should be same, only a backend should be different. There should be only one running actor, there should be an environment value to choose which index functionality should be used. All additional parameters for Opensearch should be provided by environment values. For integration tests use a mockup of Opensearch. Real integration tests should be done in a scylladb repository.

PRs

  • Add opensearch flag feature
  • Refactor the Usearch index actor. Copy a backend from index.rs into index/usearch.rs.
  • Create empty backend for the Opensearch. Create backend in index/opensearch.rs.
  • Implement Index::Add for the Opensearch.
  • Implement Index::Ann for the Opensearch.
  • Create integration tests with mockup
  • Remove opensearch flag feature

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions