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

[FEATURE]Refactoring of code for better maintainability #1810

Open
heemin32 opened this issue Jul 10, 2024 · 0 comments
Open

[FEATURE]Refactoring of code for better maintainability #1810

heemin32 opened this issue Jul 10, 2024 · 0 comments
Assignees
Labels
enhancement Refactoring Improve the design, structure, and implementation while preserving its functionality

Comments

@heemin32
Copy link
Collaborator

After introducing binary vector format of which has its own code path in across multiple files, the needs of refactoring is required to enhance code maintainability.

Related PR. #1781

Few action items are as follow

  1. We have two query vector in KNNQuery class. One for float/byte vectors and another for binary vector. We want to refactor it so that it won't have two vector variables inside single KNNQuery.
  2. We have VectorTransfer class. The issue with this class is that the caller should call close() method at the end to make sure the transfer complete properly. We want to avoid such requirement.
  3. We have NestedFilteredIdsKNNByteIterator, FilteredIdsKNNByteIterator, NestedFilteredIdsKNNIterator, and FilteredIdsKNNIterator. We want to remove the Byte iterator and reduce code duplication.
  4. We introduced thin wrapper class KNNVectorSimilarityFunction to wrap lucene's VectorSimilarityFunction. We might want to see if there is other ways to avoid this thin wrapper.
@heemin32 heemin32 added Refactoring Improve the design, structure, and implementation while preserving its functionality enhancement labels Jul 10, 2024
@heemin32 heemin32 self-assigned this Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Refactoring Improve the design, structure, and implementation while preserving its functionality
Projects
Status: Backlog (Hot)
Development

No branches or pull requests

2 participants