@@ -1266,4 +1266,45 @@ public void testMultiSearchWithLocales() throws Exception {
12661266 assertThat (results [0 ].getHits ().size (), is (7 ));
12671267 assertThat (results [1 ].getHits ().size (), is (2 ));
12681268 }
1269+
1270+ /** Test search with retrieveVectors parameter */
1271+ @ Test
1272+ public void testSearchWithRetrieveVectors () throws Exception {
1273+ String indexUid = "testSearchWithRetrieveVectors" ;
1274+ Index index = client .index (indexUid );
1275+ HashMap <String , Embedder > embedders = new HashMap <>();
1276+ embedders .put (
1277+ "manual" , new Embedder ().setSource (EmbedderSource .USER_PROVIDED ).setDimensions (3 ));
1278+
1279+ Settings settings = new Settings ();
1280+ settings .setEmbedders (embedders );
1281+
1282+ index .updateSettings (settings );
1283+
1284+ TestData <Movie > testData = this .getTestData (VECTOR_MOVIES , Movie .class );
1285+ TaskInfo task = index .addDocuments (testData .getRaw ());
1286+
1287+ index .waitForTask (task .getTaskUid ());
1288+
1289+ // First search without retrieveVectors
1290+ SearchRequest searchRequestWithout = SearchRequest .builder ().q ("" ).build ();
1291+ SearchResult searchResultWithout = (SearchResult ) index .search (searchRequestWithout );
1292+
1293+ assertThat (searchResultWithout .getHits (), hasSize (5 ));
1294+ Map <String , Object > hitWithout = searchResultWithout .getHits ().get (0 );
1295+ assertThat (hitWithout .containsKey ("_vectors" ), is (false ));
1296+
1297+ // Then search with retrieveVectors
1298+ SearchRequest searchRequestWith =
1299+ SearchRequest .builder ().q ("" ).retrieveVectors (true ).build ();
1300+ SearchResult searchResultWith = (SearchResult ) index .search (searchRequestWith );
1301+
1302+ assertThat (searchResultWith .getHits (), hasSize (5 ));
1303+ Map <String , Object > hitWith = searchResultWith .getHits ().get (0 );
1304+ assertThat (hitWith .containsKey ("_vectors" ), is (true ));
1305+
1306+ @ SuppressWarnings ("unchecked" )
1307+ Map <String , Object > vectors = (Map <String , Object >) hitWith .get ("_vectors" );
1308+ assertThat (vectors .containsKey ("manual" ), is (true ));
1309+ }
12691310}
0 commit comments