23
23
* delegate} KnnCollector queue, at each HNSW node candidate visit. Once it saturates for a number
24
24
* of consecutive node visits (e.g., the patience parameter), this early terminates.
25
25
*/
26
- public class HnswQueueSaturationCollector implements HnswKnnCollector {
26
+ public class HnswQueueSaturationCollector extends HnswKnnCollector {
27
27
28
- private static final double DEFAULT_SATURATION_THRESHOLD = 0.995d ;
28
+ private static final double DEFAULT_SATURATION_THRESHOLD = 0.95d ;
29
29
30
30
private final KnnCollector delegate ;
31
31
private final double saturationThreshold ;
@@ -36,6 +36,7 @@ public class HnswQueueSaturationCollector implements HnswKnnCollector {
36
36
private int currentQueueSize ;
37
37
38
38
HnswQueueSaturationCollector (KnnCollector delegate , double saturationThreshold , int patience ) {
39
+ super (delegate );
39
40
this .delegate = delegate ;
40
41
this .previousQueueSize = 0 ;
41
42
this .currentQueueSize = 0 ;
@@ -46,6 +47,7 @@ public class HnswQueueSaturationCollector implements HnswKnnCollector {
46
47
}
47
48
48
49
public HnswQueueSaturationCollector (KnnCollector delegate ) {
50
+ super (delegate );
49
51
this .delegate = delegate ;
50
52
this .previousQueueSize = 0 ;
51
53
this .currentQueueSize = 0 ;
@@ -64,26 +66,6 @@ public boolean earlyTerminated() {
64
66
return delegate .earlyTerminated () || patienceFinished ;
65
67
}
66
68
67
- @ Override
68
- public void incVisitedCount (int count ) {
69
- delegate .incVisitedCount (count );
70
- }
71
-
72
- @ Override
73
- public long visitedCount () {
74
- return delegate .visitedCount ();
75
- }
76
-
77
- @ Override
78
- public long visitLimit () {
79
- return delegate .visitLimit ();
80
- }
81
-
82
- @ Override
83
- public int k () {
84
- return delegate .k ();
85
- }
86
-
87
69
@ Override
88
70
public boolean collect (int docId , float similarity ) {
89
71
boolean collect = delegate .collect (docId , similarity );
0 commit comments