opensearch-project / k-NN

🆕 Find the k-nearest neighbors (k-NN) for your vector data
https://opensearch.org/docs/latest/search-plugins/knn/index/
Apache License 2.0
152 stars 113 forks source link

Add model version to model metadata and change model metadata reads to be from cluster metadata #2005

Closed ryanbogan closed 3 weeks ago

ryanbogan commented 1 month ago

Description

Adds the OpenSearch version with which a model is created to its metadata. Additionally, changes modelMetadata reads to read from cluster metadata in order to eliminate an unnecessary get model call.

This change helps prevent null pointer exceptions, since we can tell which variables are present in the metadata based on the version. Additionally, it is required for re-scoring features that are being added as part of disk-based search.

Check List

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.

jmazanec15 commented 4 weeks ago

@ryanbogan I think we might need to update https://github.com/opensearch-project/k-NN/blob/main/src/main/resources/mappings/model-index.json

ryanbogan commented 4 weeks ago

@ryanbogan I think we might need to update https://github.com/opensearch-project/k-NN/blob/main/src/main/resources/mappings/model-index.json

Ah good catch, will push fix

ryanbogan commented 3 weeks ago

Skipping changelog because change is in release notes

naveentatikonda commented 3 weeks ago

@ryanbogan can you rebase this PR with main branch to fix conflicts ?

opensearch-trigger-bot[bot] commented 3 weeks ago

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-2.x 2.x
# Navigate to the new working tree
cd .worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-2005-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 6814c8f60707ff8e3be835558ab35ae5a9ea0c1a
# Push it to GitHub
git push --set-upstream origin backport/backport-2005-to-2.x
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport/backport-2005-to-2.x.

opensearch-trigger-bot[bot] commented 3 weeks ago

The backport to 2.17 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-2.17 2.17
# Navigate to the new working tree
cd .worktrees/backport-2.17
# Create a new branch
git switch --create backport/backport-2005-to-2.17
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 6814c8f60707ff8e3be835558ab35ae5a9ea0c1a
# Push it to GitHub
git push --set-upstream origin backport/backport-2005-to-2.17
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-2.17

Then, create a pull request where the base branch is 2.17 and the compare/head branch is backport/backport-2005-to-2.17.