@@ -2553,40 +2553,19 @@ private Query createKnnByteQuery(
25532553
25542554 private Query maybeWrapPatience (Query knnQuery ) {
25552555 Query finalQuery = knnQuery ;
2556- if (knnQuery instanceof KnnByteVectorQuery knnByteVectorQuery ) {
2557- finalQuery = maybeWrapPatienceByte (knnByteVectorQuery );
2558- } else if (knnQuery instanceof KnnFloatVectorQuery knnFloatVectorQuery ) {
2559- finalQuery = maybeWrapPatienceFloat (knnFloatVectorQuery );
2556+ if (knnQuery instanceof KnnByteVectorQuery knnByteVectorQuery && canApplyPatienceQuery () ) {
2557+ finalQuery = PatienceKnnVectorQuery . fromByteQuery (knnByteVectorQuery );
2558+ } else if (knnQuery instanceof KnnFloatVectorQuery knnFloatVectorQuery && canApplyPatienceQuery () ) {
2559+ finalQuery = PatienceKnnVectorQuery . fromFloatQuery (knnFloatVectorQuery );
25602560 }
25612561 return finalQuery ;
25622562 }
25632563
2564- private Query maybeWrapPatienceByte (KnnByteVectorQuery knnQuery ) {
2565- Query returnedQuery = knnQuery ;
2566- if (indexOptions instanceof HnswIndexOptions ) {
2567- returnedQuery = PatienceKnnVectorQuery .fromByteQuery (knnQuery );
2568- } else if (indexOptions instanceof Int8HnswIndexOptions ) {
2569- returnedQuery = PatienceKnnVectorQuery .fromByteQuery (knnQuery );
2570- } else if (indexOptions instanceof Int4HnswIndexOptions ) {
2571- returnedQuery = PatienceKnnVectorQuery .fromByteQuery (knnQuery );
2572- } else if (indexOptions instanceof BBQHnswIndexOptions ) {
2573- returnedQuery = PatienceKnnVectorQuery .fromByteQuery (knnQuery );
2574- }
2575- return returnedQuery ;
2576- }
2577-
2578- private Query maybeWrapPatienceFloat (KnnFloatVectorQuery knnQuery ) {
2579- Query returnedQuery = knnQuery ;
2580- if (indexOptions instanceof HnswIndexOptions ) {
2581- returnedQuery = PatienceKnnVectorQuery .fromFloatQuery (knnQuery );
2582- } else if (indexOptions instanceof Int8HnswIndexOptions ) {
2583- returnedQuery = PatienceKnnVectorQuery .fromFloatQuery (knnQuery );
2584- } else if (indexOptions instanceof Int4HnswIndexOptions ) {
2585- returnedQuery = PatienceKnnVectorQuery .fromFloatQuery (knnQuery );
2586- } else if (indexOptions instanceof BBQHnswIndexOptions ) {
2587- returnedQuery = PatienceKnnVectorQuery .fromFloatQuery (knnQuery );
2588- }
2589- return returnedQuery ;
2564+ private boolean canApplyPatienceQuery () {
2565+ return indexOptions instanceof HnswIndexOptions
2566+ || indexOptions instanceof Int8HnswIndexOptions
2567+ || indexOptions instanceof Int4HnswIndexOptions
2568+ || indexOptions instanceof BBQHnswIndexOptions ;
25902569 }
25912570
25922571 private Query createKnnFloatQuery (
0 commit comments