Skip to content

Commit b8b3c88

Browse files
committed
Add check for optional _vectors
1 parent 4306308 commit b8b3c88

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

src/main/java/com/meilisearch/sdk/model/SearchResult.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class SearchResult implements Searchable {
2222
int offset;
2323
int limit;
2424
int estimatedTotalHits;
25+
HashMap<String, Object> _vectors;
2526

2627
public SearchResult() {}
2728
}

src/test/java/com/meilisearch/integration/SearchTest.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)