Skip to content

Commit b1edd72

Browse files
committed
DATAES-52 - Support Get & Multi Get
1 parent 38bbb0f commit b1edd72

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -254,15 +254,20 @@ public <T> LinkedList<T> multiGet(SearchQuery searchQuery, Class<T> clazz) {
254254
return resultsMapper.mapResults(getMultiResponse(searchQuery, clazz), clazz);
255255
}
256256

257-
private <T> MultiGetResponse getMultiResponse(SearchQuery searchQuery, Class<T> clazz) {
257+
private <T> MultiGetResponse getMultiResponse(Query searchQuery, Class<T> clazz) {
258258

259-
ElasticsearchPersistentEntity<T> persistentEntity = getPersistentEntityFor(clazz);
259+
String indexName = isNotEmpty(searchQuery.getIndices()) ? searchQuery.getIndices().get(0) : getPersistentEntityFor(clazz).getIndexName();
260+
String type = isNotEmpty(searchQuery.getTypes()) ? searchQuery.getTypes().get(0) : getPersistentEntityFor(clazz).getIndexType();
261+
262+
Assert.notNull(indexName, "No index defined for Query");
263+
Assert.notNull(type, "No type define for Query");
264+
Assert.notEmpty(searchQuery.getIds(), "No Id define for Query");
260265

261266
MultiGetRequestBuilder builder = client.prepareMultiGet();
262267

263268
for (String id : searchQuery.getIds()) {
264269

265-
MultiGetRequest.Item item = new MultiGetRequest.Item(persistentEntity.getIndexName(), persistentEntity.getIndexType(), id);
270+
MultiGetRequest.Item item = new MultiGetRequest.Item(indexName, type, id);
266271

267272
if (searchQuery.getRoute() != null) {
268273
item = item.routing(searchQuery.getRoute());

0 commit comments

Comments
 (0)