Skip to content

Commit 2690ce8

Browse files
committed
Merge branch 'query_visit_percentage' of github.com:john-wagster/elasticsearch into query_visit_percentage
2 parents e68e3ce + bf8c01d commit 2690ce8

File tree

4 files changed

+126
-17
lines changed

4 files changed

+126
-17
lines changed

server/src/main/java/org/elasticsearch/search/vectors/KnnSearchBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,8 @@ private KnnSearchBuilder(
313313
this.queryVectorBuilder = queryVectorBuilder;
314314
this.k = k;
315315
this.numCands = numCandidates;
316-
this.visitPercentage = visitPercentage == null ? 0.0f : visitPercentage;;
316+
this.visitPercentage = visitPercentage == null ? 0.0f : visitPercentage;
317+
;
317318
this.rescoreVectorBuilder = rescoreVectorBuilder;
318319
this.innerHitBuilder = innerHitBuilder;
319320
this.similarity = similarity;

x-pack/plugin/rank-rrf/src/internalClusterTest/java/org/elasticsearch/xpack/rank/linear/LinearRetrieverIT.java

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,16 @@ public void testLinearRetrieverWithAggs() {
175175
);
176176
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
177177
// this one retrieves docs 2, 3, 6, and 7
178-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null, null, null);
178+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
179+
VECTOR_FIELD,
180+
new float[] { 2.0f },
181+
null,
182+
10,
183+
100,
184+
null,
185+
null,
186+
null
187+
);
179188

180189
// all requests would have an equal weight and use the identity normalizer
181190
source.retriever(
@@ -233,7 +242,16 @@ public void testLinearWithCollapse() {
233242
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
234243
// this one retrieves docs 2, 3, 6, and 7
235244
// with scores 1, 0.5, 0.05882353, 0.03846154
236-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null, null, null);
245+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
246+
VECTOR_FIELD,
247+
new float[] { 2.0f },
248+
null,
249+
10,
250+
100,
251+
null,
252+
null,
253+
null
254+
);
237255
// final ranking with no-normalizer would be: doc 2, 6, 1, 4, 7, 3
238256
// doc 1: 10
239257
// doc 2: 9 + 20 + 1 = 30
@@ -302,7 +320,16 @@ public void testLinearRetrieverWithCollapseAndAggs() {
302320
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
303321
// this one retrieves docs 2, 3, 6, and 7
304322
// with scores 1, 0.5, 0.05882353, 0.03846154
305-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
323+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
324+
VECTOR_FIELD,
325+
new float[] { 2.0f },
326+
null,
327+
10,
328+
100,
329+
null,
330+
null,
331+
null
332+
);
306333
// final ranking with no-normalizer would be: doc 2, 6, 1, 4, 7, 3
307334
// doc 1: 10
308335
// doc 2: 9 + 20 + 1 = 30
@@ -393,7 +420,7 @@ public void testMultipleLinearRetrievers() {
393420
),
394421
// this one bring just doc 7 which should be ranked first eventually with a score of 100
395422
new CompoundRetrieverBuilder.RetrieverSource(
396-
new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 7.0f }, null, 1, 100, null,null, null),
423+
new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 7.0f }, null, 1, 100, null, null, null),
397424
null
398425
)
399426
),
@@ -447,7 +474,16 @@ public void testLinearExplainWithNamedRetrievers() {
447474
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
448475
// this one retrieves docs 2, 3, 6, and 7
449476
// with scores 1, 0.5, 0.05882353, 0.03846154
450-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
477+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
478+
VECTOR_FIELD,
479+
new float[] { 2.0f },
480+
null,
481+
10,
482+
100,
483+
null,
484+
null,
485+
null
486+
);
451487
// final ranking with no-normalizer would be: doc 2, 6, 1, 4, 7, 3
452488
// doc 1: 10
453489
// doc 2: 9 + 20 + 1 = 30
@@ -537,7 +573,16 @@ public void testLinearExplainWithAnotherNestedLinear() {
537573
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
538574
// this one retrieves docs 2, 3, 6, and 7
539575
// with scores 1, 0.5, 0.05882353, 0.03846154
540-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
576+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
577+
VECTOR_FIELD,
578+
new float[] { 2.0f },
579+
null,
580+
10,
581+
100,
582+
null,
583+
null,
584+
null
585+
);
541586
// final ranking with no-normalizer would be: doc 2, 6, 1, 4, 7, 3
542587
// doc 1: 10
543588
// doc 2: 9 + 20 + 1 = 30
@@ -817,7 +862,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
817862
throw new IllegalStateException("Should not be called");
818863
}
819864
};
820-
var knn = new KnnRetrieverBuilder("vector", null, vectorBuilder, 10, 10, null,null, null);
865+
var knn = new KnnRetrieverBuilder("vector", null, vectorBuilder, 10, 10, null, null, null);
821866
var standard = new StandardRetrieverBuilder(new KnnVectorQueryBuilder("vector", vectorBuilder, 10, 10, 10f, null));
822867
var rrf = new LinearRetrieverBuilder(
823868
List.of(new CompoundRetrieverBuilder.RetrieverSource(knn, null), new CompoundRetrieverBuilder.RetrieverSource(standard, null)),

x-pack/plugin/rank-rrf/src/internalClusterTest/java/org/elasticsearch/xpack/rank/rrf/RRFRetrieverBuilderIT.java

Lines changed: 62 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,16 @@ public void testRRFWithAggs() {
242242
);
243243
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
244244
// this one retrieves docs 2, 3, 6, and 7
245-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null, null, null);
245+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
246+
VECTOR_FIELD,
247+
new float[] { 2.0f },
248+
null,
249+
10,
250+
100,
251+
null,
252+
null,
253+
null
254+
);
246255
source.retriever(
247256
new RRFRetrieverBuilder(
248257
Arrays.asList(
@@ -297,7 +306,16 @@ public void testRRFWithCollapse() {
297306
);
298307
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
299308
// this one retrieves docs 2, 3, 6, and 7
300-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
309+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
310+
VECTOR_FIELD,
311+
new float[] { 2.0f },
312+
null,
313+
10,
314+
100,
315+
null,
316+
null,
317+
null
318+
);
301319
source.retriever(
302320
new RRFRetrieverBuilder(
303321
Arrays.asList(
@@ -354,7 +372,16 @@ public void testRRFRetrieverWithCollapseAndAggs() {
354372
);
355373
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
356374
// this one retrieves docs 2, 3, 6, and 7
357-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
375+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
376+
VECTOR_FIELD,
377+
new float[] { 2.0f },
378+
null,
379+
10,
380+
100,
381+
null,
382+
null,
383+
null
384+
);
358385
source.retriever(
359386
new RRFRetrieverBuilder(
360387
Arrays.asList(
@@ -420,7 +447,16 @@ public void testMultipleRRFRetrievers() {
420447
);
421448
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
422449
// this one retrieves docs 2, 3, 6, and 7
423-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
450+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
451+
VECTOR_FIELD,
452+
new float[] { 2.0f },
453+
null,
454+
10,
455+
100,
456+
null,
457+
null,
458+
null
459+
);
424460
source.retriever(
425461
new RRFRetrieverBuilder(
426462
Arrays.asList(
@@ -439,7 +475,7 @@ public void testMultipleRRFRetrievers() {
439475
),
440476
// this one bring just doc 7 which should be ranked first eventually
441477
new CompoundRetrieverBuilder.RetrieverSource(
442-
new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 7.0f }, null, 1, 100, null,null, null),
478+
new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 7.0f }, null, 1, 100, null, null, null),
443479
null
444480
)
445481
),
@@ -486,7 +522,16 @@ public void testRRFExplainWithNamedRetrievers() {
486522
);
487523
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
488524
// this one retrieves docs 2, 3, 6, and 7
489-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
525+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
526+
VECTOR_FIELD,
527+
new float[] { 2.0f },
528+
null,
529+
10,
530+
100,
531+
null,
532+
null,
533+
null
534+
);
490535
source.retriever(
491536
new RRFRetrieverBuilder(
492537
Arrays.asList(
@@ -545,7 +590,16 @@ public void testRRFExplainWithAnotherNestedRRF() {
545590
);
546591
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
547592
// this one retrieves docs 2, 3, 6, and 7
548-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 2.0f }, null, 10, 100, null,null, null);
593+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
594+
VECTOR_FIELD,
595+
new float[] { 2.0f },
596+
null,
597+
10,
598+
100,
599+
null,
600+
null,
601+
null
602+
);
549603

550604
RRFRetrieverBuilder nestedRRF = new RRFRetrieverBuilder(
551605
Arrays.asList(
@@ -820,7 +874,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
820874
throw new IllegalStateException("Should not be called");
821875
}
822876
};
823-
var knn = new KnnRetrieverBuilder("vector", null, vectorBuilder, 10, 10, null,null, null);
877+
var knn = new KnnRetrieverBuilder("vector", null, vectorBuilder, 10, 10, null, null, null);
824878
var standard = new StandardRetrieverBuilder(new KnnVectorQueryBuilder("vector", vectorBuilder, 10, 10, 10f, null));
825879
var rrf = new RRFRetrieverBuilder(
826880
List.of(new CompoundRetrieverBuilder.RetrieverSource(knn, null), new CompoundRetrieverBuilder.RetrieverSource(standard, null)),

x-pack/plugin/rank-rrf/src/internalClusterTest/java/org/elasticsearch/xpack/rank/rrf/RRFRetrieverBuilderNestedDocsIT.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,16 @@ public void testRRFRetrieverWithNestedQuery() {
149149
);
150150
standard1.getPreFilterQueryBuilders().add(QueryBuilders.queryStringQuery("search").defaultField(TEXT_FIELD));
151151
// this one retrieves docs 6
152-
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(VECTOR_FIELD, new float[] { 6.0f }, null, 1, 100, null,null, null);
152+
KnnRetrieverBuilder knnRetrieverBuilder = new KnnRetrieverBuilder(
153+
VECTOR_FIELD,
154+
new float[] { 6.0f },
155+
null,
156+
1,
157+
100,
158+
null,
159+
null,
160+
null
161+
);
153162
source.retriever(
154163
new RRFRetrieverBuilder(
155164
Arrays.asList(

0 commit comments

Comments
 (0)