@@ -94,10 +94,14 @@ public void testRetrieveTopNDenseVectorFieldData() {
9494 var values = valuesList .get (id );
9595 assertEquals (id , values .get (0 ));
9696 List <Float > vectors = (List <Float >) values .get (1 );
97- assertNotNull (vectors );
98- assertEquals (vector .size (), vectors .size ());
99- for (int i = 0 ; i < vector .size (); i ++) {
100- assertEquals (vector .get (i ), vectors .get (i ), 0F );
97+ if (vector == null ) {
98+ assertNull (vectors );
99+ } else {
100+ assertNotNull (vectors );
101+ assertEquals (vector .size (), vectors .size ());
102+ for (int i = 0 ; i < vector .size (); i ++) {
103+ assertEquals (vector .get (i ), vectors .get (i ), 0F );
104+ }
101105 }
102106 });
103107 }
@@ -117,12 +121,18 @@ public void testRetrieveDenseVectorFieldData() {
117121 ;
118122 assertEquals (2 , value .size ());
119123 Integer id = (Integer ) value .get (0 );
120- List <Float > vector = (List <Float >) value .get (1 );
121- assertNotNull (vector );
122124 List <Float > expectedVector = indexedVectors .get (id );
123- assertNotNull (expectedVector );
124- for (int i = 0 ; i < vector .size (); i ++) {
125- assertEquals (expectedVector .get (i ), vector .get (i ), 0F );
125+ List <Float > vector = (List <Float >) value .get (1 );
126+ if (expectedVector == null ) {
127+ assertNull (vector );
128+ } else {
129+ assertNotNull (vector );
130+ assertEquals (expectedVector .size (), vector .size ());
131+ assertNotNull (vector );
132+ assertNotNull (expectedVector );
133+ for (int i = 0 ; i < vector .size (); i ++) {
134+ assertEquals (expectedVector .get (i ), vector .get (i ), 0F );
135+ }
126136 }
127137 });
128138 }
@@ -168,11 +178,16 @@ public void setup() throws IOException {
168178 IndexRequestBuilder [] docs = new IndexRequestBuilder [numDocs ];
169179 for (int i = 0 ; i < numDocs ; i ++) {
170180 List <Float > vector = new ArrayList <>(numDims );
171- for (int j = 0 ; j < numDims ; j ++) {
172- vector .add (randomFloat ());
181+ if (rarely ()) {
182+ docs [i ] = prepareIndex ("test" ).setId ("" + i ).setSource ("id" , String .valueOf (i ));
183+ indexedVectors .put (i , null );
184+ } else {
185+ for (int j = 0 ; j < numDims ; j ++) {
186+ vector .add (randomFloat ());
187+ }
188+ docs [i ] = prepareIndex ("test" ).setId ("" + i ).setSource ("id" , String .valueOf (i ), "vector" , vector );
189+ indexedVectors .put (i , vector );
173190 }
174- docs [i ] = prepareIndex ("test" ).setId ("" + i ).setSource ("id" , String .valueOf (i ), "vector" , vector );
175- indexedVectors .put (i , vector );
176191 }
177192
178193 indexRandom (true , docs );
0 commit comments