@@ -1431,18 +1431,21 @@ private static Result doByteVectorQuery(
14311431
14321432 String knnField = getKnnField (filterStrategy );
14331433
1434- Query query = switch (searchType ) {
1434+ ProfiledVectorQuery vectorQuery = switch (searchType ) {
14351435 case KNN -> new ProfiledKnnByteVectorQuery (knnField , vector , k , fanout , queryTimeFilter );
14361436 case RADIUS -> new ProfiledByteVectorSimilarityQuery (knnField , vector , traversalSimilarity , resultSimilarity , filter );
14371437 };
1438+ Query query ;
14381439 if (filterStrategy == FilterStrategy .QUERY_TIME_POST_FILTER ) {
14391440 query = new BooleanQuery .Builder ()
1440- .add (query , BooleanClause .Occur .MUST )
1441- .add (filter , BooleanClause .Occur .FILTER )
1442- .build ();
1441+ .add ((Query ) vectorQuery , BooleanClause .Occur .MUST )
1442+ .add (filter , BooleanClause .Occur .FILTER )
1443+ .build ();
1444+ } else {
1445+ query = (Query ) vectorQuery ;
14431446 }
14441447 TopDocs docs = searcher .search (query , resultSize );
1445- return new Result (docs , (( ProfiledVectorQuery ) query ) .totalVisitedVectorCount (), 0 );
1448+ return new Result (docs , vectorQuery .totalVisitedVectorCount (), 0 );
14461449 }
14471450
14481451 private static Result doFloatVectorQuery (
@@ -1466,18 +1469,21 @@ private static Result doFloatVectorQuery(
14661469 return new Result (topDocs , 0 , 0 );
14671470 }
14681471
1469- Query query = switch (searchType ) {
1472+ ProfiledVectorQuery vectorQuery = switch (searchType ) {
14701473 case KNN -> new ProfiledKnnFloatVectorQuery (knnField , vector , k , fanout , queryTimeFilter );
14711474 case RADIUS -> new ProfiledFloatVectorSimilarityQuery (knnField , vector , traversalSimilarity , resultSimilarity , filter );
14721475 };
1476+ Query query ;
14731477 if (filterStrategy == FilterStrategy .QUERY_TIME_POST_FILTER ) {
14741478 query = new BooleanQuery .Builder ()
1475- .add (query , BooleanClause .Occur .MUST )
1479+ .add (( Query ) vectorQuery , BooleanClause .Occur .MUST )
14761480 .add (filter , BooleanClause .Occur .FILTER )
14771481 .build ();
1482+ } else {
1483+ query = (Query ) vectorQuery ;
14781484 }
14791485 TopDocs docs = searcher .search (query , resultSize );
1480- return new Result (docs , (( ProfiledVectorQuery ) query ) .totalVisitedVectorCount (), 0 );
1486+ return new Result (docs , vectorQuery .totalVisitedVectorCount (), 0 );
14811487 }
14821488
14831489 record Result (TopDocs topDocs , long visitedCount , int reentryCount ) {
0 commit comments