Skip to content

Add parameters of aws opensearch, support hnsw engine options, support multi-client load data #527

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Jun 11, 2025

Conversation

norrishuang
Copy link
Contributor

  1. Add aws opensearch parameters of hnsw engine options, space type options.
  2. Add multi-client load data for aws opensearch.
  3. Support set FP16 for faiss engine.
  4. Add parameters of shards/replicas/indexing clients/hnsw engine options in UI.

command example

vectordbbench awsopensearch --db-label aos --task-label task-001 \  
--m 16 --ef-construction 256 --ef-search 200 \
--host <aos-host> --port 443 \
--user admin --password '<password>' \
--case-type Performance768D10M \
--number-of-shards 9  \
--number-of-replicas 1 \
--number-of-indexing-clients 10 \
--engine faiss --metric-type ip \
--no-faiss-use-fp16 \
--load --drop-old --num-concurrency 100

and from UI

image

result log
result_20250521_ef-search-100_opensearch.json

@norrishuang norrishuang marked this pull request as ready for review May 21, 2025 15:19
@alwayslove2013
Copy link
Collaborator

@norrishuang Thank you very much for your so detailed PR. I believe it will help the community test OpenSearch more effectively, and I will review it as soon as possible.

@alwayslove2013 alwayslove2013 self-assigned this May 22, 2025
@alwayslove2013 alwayslove2013 self-requested a review May 22, 2025 01:44
@navneet1v
Copy link
Contributor

@norrishuang similar PR: https://github.com/zilliztech/VectorDBBench/pull/529/files with fixes and removal nmslib engine since it is deprecated.

log.info(
"Using innerproduct because faiss doesn't support cosine as metric type for Opensearch",
)
log.info("Using innerproduct because faiss doesn't support cosine as metric type for Opensearch")
Copy link
Contributor

@navneet1v navneet1v May 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cosine is supported with 2.19 and above version of Opensearch with faiss. I think this check can be removed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @navneet1v , I removed it.

@@ -38,6 +38,9 @@ class AWSOpenSearchIndexConfig(BaseModel, DBCaseConfig):
engine: AWSOS_Engine = AWSOS_Engine.faiss
efConstruction: int = 256
efSearch: int = 256
ef_search: int = 200
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about removing one of efSearch or ef_search?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed efSearch in commit recover some code format

@alwayslove2013
Copy link
Collaborator

@norrishuang There is an issue with the format.
Hope it helps.

pip install ruff --upgrade
pip install black --upgrade
make format
make lint

@norrishuang
Copy link
Contributor Author

fixed format issue. recover some code format

@alwayslove2013
Copy link
Collaborator

@norrishuang some little conflicts with pr: #529 , could you please help resolve it~

@norrishuang
Copy link
Contributor Author

@norrishuang some little conflicts with pr: #529 , could you please help resolve it~

The conflicts was resolved.

@sre-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: alwayslove2013, norrishuang
To complete the pull request process, please assign xuanyang-cn after the PR has been reviewed.
You can assign the PR to them by writing /assign @xuanyang-cn in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@alwayslove2013
Copy link
Collaborator

@norrishuang still seems to conflict with main.

@norrishuang
Copy link
Contributor Author

@norrishuang still seems to conflict with main.

compare the code of conflicts, there are some code format issues, it's resolved.

@alwayslove2013 alwayslove2013 merged commit cb707d5 into zilliztech:main Jun 11, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants