Skip to content
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

Rename vector float classes and methods #12105

Merged
merged 13 commits into from
Jan 24, 2023

Conversation

javanna
Copy link
Contributor

@javanna javanna commented Jan 23, 2023

We recently introduced KnnByteVectorField, KnnByteVectorQuery and ByteVectorValues, the corresponding float variants of the same classes don't follow the same naming convention: KnnVectorField, KnnVectoryQuery and VectorValues. Ideally their names would reflect that they are the float variant of the vector field, vector query and vector values.

This PR aims at clarifying this in the public facing API, by deprecating the current float classes in favour of new ones that are their exact copy but follow the same naming conventions as the byte ones.

As a result, LeafReader#getVectorValues is also deprecated in favour of newly introduced getFloatVectorValues method that returns FloatVectorValues.

I opened a single PR to gather feedback first. I can also split it up in multiple PRs if we want to move forward in this direction.

Relates to #11963

@javanna javanna added the discussion Discussion label Jan 23, 2023
@javanna javanna changed the title Rename vector float classes Rename vector float classes and methods Jan 23, 2023
Copy link
Contributor

@jpountz jpountz left a comment

Choose a reason for hiding this comment

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

The approach looks right to me.

@Deprecated
public VectorValues getVectorValues(String field) throws IOException {
return new FilterVectorValues(getFloatVectorValues(field)) {};
}
Copy link
Contributor

Choose a reason for hiding this comment

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

I consider all codec APIs experimental by nature, let's only have this bw layer one layer above, on LeafReader?

@javanna javanna merged commit 92e67ec into apache:main Jan 24, 2023
javanna added a commit to javanna/lucene that referenced this pull request Jan 24, 2023
We recently introduced KnnByteVectorField, KnnByteVectorQuery and ByteVectorValues. The corresponding float variants of the same classes don't follow the same naming convention: KnnVectorField, KnnVectoryQuery and VectorValues. Ideally their names would reflect that they are the float variant of the vector field, vector query and vector values.

This commit aims at clarifying this in the public facing API, by deprecating the current float classes in favour of new ones that are their exact copy but follow the same naming conventions as the byte ones.

As a result, LeafReader#getVectorValues is also deprecated in favour of newly introduced getFloatVectorValues method that returns FloatVectorValues.

Relates to apache#11963
javanna added a commit that referenced this pull request Jan 24, 2023
We recently introduced KnnByteVectorField, KnnByteVectorQuery and ByteVectorValues. The corresponding float variants of the same classes don't follow the same naming convention: KnnVectorField, KnnVectoryQuery and VectorValues. Ideally their names would reflect that they are the float variant of the vector field, vector query and vector values.

This commit aims at clarifying this in the public facing API, by deprecating the current float classes in favour of new ones that are their exact copy but follow the same naming conventions as the byte ones.

As a result, LeafReader#getVectorValues is also deprecated in favour of newly introduced getFloatVectorValues method that returns FloatVectorValues.

Relates to #11963
@javanna javanna added this to the 9.5.0 milestone Jan 24, 2023
javanna added a commit that referenced this pull request Jan 24, 2023
…cs (#12108)

Follow-up of #12105 to update references to the deprecated classes in comments and javadocs
javanna added a commit that referenced this pull request Jan 24, 2023
Follow-up of #12105 to remove the deprecated classes for the next major version.

Removes KnnVectorField, KnnVectorQuery, VectorValues and LeafReader#getVectorValues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussion
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants