mocobeta commented on a change in pull request #1169: LUCENE-9004: A minor 
feature and patch -- support deleting vector values and fix segments merging
URL: https://github.com/apache/lucene-solr/pull/1169#discussion_r368289244
 
 

 ##########
 File path: lucene/core/src/test/org/apache/lucene/index/TestKnnGraph.java
 ##########
 @@ -92,7 +108,277 @@ public void testSingleDocRecall() throws  Exception {
       iw.commit();
       assertConsistentGraph(iw, values);
 
-      assertRecall(dir, 0, values[0]);
+      assertRecall(dir, 1, values[0]);
+    }
+  }
+
+  public void testDocsDeletionAndRecall() throws  Exception {
+    /**
+     * {@code KnnExactVectorValueWeight} applies in-set (i.e. the query vector 
is exactly in the index)
+     * deletion strategy to filter all unmatched results searched by {@link 
org.apache.lucene.search.KnnGraphQuery.KnnExactVectorValueQuery},
+     * and deletes at most ef*segmentCnt vectors that are the same to the 
specified queryVector.
+     */
+    final class KnnExactVectorValueWeight extends ConstantScoreWeight {
 
 Review comment:
   Thanks, it looks almost okay to me but the Weight and Query classes can be 
(and should be) *static* classes. 
   
   It would look like this:
   ```
   public class TestKnnGraph extends LuceneTestCase {
       ....
       private static final class KnnExactVectorValueWeight extends 
ConstantScoreWeight {
           ....
       }
   
       private static final class KnnExactVectorValueQuery extends Query {
           ....
       }
   
       public void testDocsDeletionAndRecall() throws  Exception {
           ....
           Query query = new KnnExactVectorValueQuery(...);
           ....
       }
       ....
   }
   ```
   Please avoid *non-static* inner classes whenever you can do so, because they 
consume extra memory and object references ;)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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

Reply via email to