apache / apache/lucene

Replace need for KnnVectorValues.copy() with a dictionary interface

Open
#13,831 6 comments 0 reactions 0 assignees View on GitHub
type:enhancement vector-based-search
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

### Description

The idea is to get rid of `copy()` since it does more than is needed. What's needed is an independent vector accessor over the same values source. Adrien had suggested a dictionary() interface that would take over the random-access API from the values source (or in addition to it?)
See discussion in https://github.com/apache/lucene/pull/13779 for more details.

Contributor guide

Open the contributing guide

Research direction

Start by reading the discussion in Apache Lucene pull request 13779, then trace the uses of KnnVectorValues.copy() that motivate this issue. Done means agreeing on and implementing an independent vector accessor or dictionary() interface over the same values source, with the affected behavior covered by the relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.