[ 
https://issues.apache.org/jira/browse/LUCENE-10069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17417812#comment-17417812
 ] 

ASF subversion and git services commented on LUCENE-10069:
----------------------------------------------------------

Commit b2a04a4bb4dfebd255a5a19ffe3833f1953c4dfe in lucene's branch 
refs/heads/main from Julie Tibshirani
[ https://gitbox.apache.org/repos/asf?p=lucene.git;h=b2a04a4 ]

LUCENE-10069: Adjust TestKnnVectorQuery#testRandom to stop failures

The test fails randomly because HNSW can sometimes miss results when k is close
to the number of total docs. While we wait for a fix, this commit decreases k to
prevent failures.


> HNSW can miss results with very large k
> ---------------------------------------
>
>                 Key: LUCENE-10069
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10069
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Julie Tibshirani
>            Priority: Minor
>
> Performing a kNN search with very large k (where k is close to the total 
> number of live docs) can return fewer than k documents. This occurs because 
> searches aren't guaranteed to be able to visit every node in the graph. 
> Specifically, when choosing entry points for the search, we make k random 
> draws _with replacement_, and sometimes end up with fewer than k entry 
> points. These entry points may not provide a connection to all other nodes in 
> the graph.
> This is an unusual case, but I think it'd be nice if we could always return k 
> docs when they are available (or at least document the behavior?) We're 
> currently working on adding graph layers (LUCENE-10054), which will change 
> how entry points are selected. Maybe we can revisit this issue once that work 
> is further along to see if a fix is still needed.
> Here's an example test failure showing the problem. We happen to select 
> {{numDocs=101}} and {{k=100}}.
> {code:java}
> ./gradlew test --tests TestKnnVectorQuery.testRandom 
> -Dtests.seed=3B6CE0E105431E18
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to