3434import org .apache .lucene .queries .function .valuesource .FloatKnnVectorFieldSource ;
3535import org .apache .lucene .queries .function .valuesource .FloatVectorSimilarityFunction ;
3636import org .apache .lucene .search .IndexSearcher ;
37+ import org .apache .lucene .search .MatchAllDocsQuery ;
3738import org .apache .lucene .search .Query ;
3839import org .apache .lucene .search .ScoreDoc ;
3940import org .apache .lucene .search .Sort ;
@@ -113,8 +114,7 @@ public void vectorSimilarity_floatConstantVectors_shouldReturnFloatSimilarity()
113114 var v1 = new ConstKnnFloatValueSource (new float [] {1 , 2 , 3 });
114115 var v2 = new ConstKnnFloatValueSource (new float [] {5 , 4 , 1 });
115116 assertHits (
116- new FunctionQuery (
117- new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
117+ new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
118118 new float [] {0.04f , 0.04f });
119119 }
120120
@@ -123,8 +123,7 @@ public void vectorSimilarity_byteConstantVectors_shouldReturnFloatSimilarity() t
123123 var v1 = new ConstKnnByteVectorValueSource (new byte [] {1 , 2 , 3 });
124124 var v2 = new ConstKnnByteVectorValueSource (new byte [] {2 , 5 , 6 });
125125 assertHits (
126- new FunctionQuery (
127- new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
126+ new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
128127 new float [] {0.05f , 0.05f });
129128 }
130129
@@ -133,8 +132,7 @@ public void vectorSimilarity_floatFieldVectors_shouldReturnFloatSimilarity() thr
133132 var v1 = new FloatKnnVectorFieldSource ("knnFloatField1" );
134133 var v2 = new FloatKnnVectorFieldSource ("knnFloatField2" );
135134 assertHits (
136- new FunctionQuery (
137- new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
135+ new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
138136 new float [] {0.049776014f , 0.049776014f });
139137 }
140138
@@ -143,8 +141,7 @@ public void vectorSimilarity_byteFieldVectors_shouldReturnFloatSimilarity() thro
143141 var v1 = new ByteKnnVectorFieldSource ("knnByteField1" );
144142 var v2 = new ByteKnnVectorFieldSource ("knnByteField2" );
145143 assertHits (
146- new FunctionQuery (
147- new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
144+ new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
148145 new float [] {0.1f , 0.1f });
149146 }
150147
@@ -154,8 +151,7 @@ public void vectorSimilarity_FloatConstAndFloatFieldVectors_shouldReturnFloatSim
154151 var v1 = new ConstKnnFloatValueSource (new float [] {1 , 2 , 4 });
155152 var v2 = new FloatKnnVectorFieldSource ("knnFloatField1" );
156153 assertHits (
157- new FunctionQuery (
158- new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
154+ new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
159155 new float [] {0.5f , 0.5f });
160156 }
161157
@@ -165,8 +161,7 @@ public void vectorSimilarity_ByteConstAndByteFieldVectors_shouldReturnFloatSimil
165161 var v1 = new ConstKnnByteVectorValueSource (new byte [] {1 , 2 , 4 });
166162 var v2 = new ByteKnnVectorFieldSource ("knnByteField1" );
167163 assertHits (
168- new FunctionQuery (
169- new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
164+ new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
170165 new float [] {0.5f , 0.5f });
171166 }
172167
@@ -175,8 +170,7 @@ public void vectorSimilarity_missingFloatVectorField_shouldReturnZero() throws E
175170 var v1 = new ConstKnnFloatValueSource (new float [] {2.f , 1.f , 1.f });
176171 var v2 = new FloatKnnVectorFieldSource ("knnFloatField3" );
177172 assertHits (
178- new FunctionQuery (
179- new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
173+ new FloatVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
180174 new float [] {0.5f , 0.f });
181175 }
182176
@@ -185,8 +179,7 @@ public void vectorSimilarity_missingByteVectorField_shouldReturnZero() throws Ex
185179 var v1 = new ConstKnnByteVectorValueSource (new byte [] {2 , 1 , 1 });
186180 var v2 = new ByteKnnVectorFieldSource ("knnByteField3" );
187181 assertHits (
188- new FunctionQuery (
189- new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 )),
182+ new ByteVectorSimilarityFunction (VectorSimilarityFunction .EUCLIDEAN , v1 , v2 ),
190183 new float [] {0.5f , 0.f });
191184 }
192185
@@ -259,6 +252,12 @@ public void vectorSimilarity_wrongFieldType_shouldRaiseException() {
259252 () -> searcher .search (new FunctionQuery (idVectorSimilarityFunction ), 10 ));
260253 }
261254
255+ private static void assertHits (final ValueSource func , final float [] scores ) throws Exception {
256+ assertHits (new FunctionQuery (func ), scores );
257+ assertHits (
258+ new FunctionScoreQuery (new MatchAllDocsQuery (), func .asDoubleValuesSource ()), scores );
259+ }
260+
262261 private static void assertHits (Query q , float [] scores ) throws Exception {
263262 ScoreDoc [] expected = new ScoreDoc [scores .length ];
264263 int [] expectedDocs = new int [scores .length ];
0 commit comments