diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java index 90209487a..27e5accb2 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java @@ -335,6 +335,7 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati @Override public CloseableIterator stream(CriteriaQuery query, Class clazz) { final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); + setPersistentEntityIndexAndType(query, clazz); final String initScrollId = scan(query, scrollTimeInMillis, false); return doStream(initScrollId, scrollTimeInMillis, clazz, resultsMapper); } @@ -347,6 +348,7 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati @Override public CloseableIterator stream(SearchQuery query, final Class clazz, final SearchResultMapper mapper) { final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); + setPersistentEntityIndexAndType(query, clazz); final String initScrollId = scan(query, scrollTimeInMillis, false); return doStream(initScrollId, scrollTimeInMillis, clazz, mapper); } @@ -896,12 +898,7 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati } private SearchRequestBuilder prepareSearch(Query query, Class clazz) { - if (query.getIndices().isEmpty()) { - query.addIndices(retrieveIndexNameFromPersistentEntity(clazz)); - } - if (query.getTypes().isEmpty()) { - query.addTypes(retrieveTypeFromPersistentEntity(clazz)); - } + setPersistentEntityIndexAndType(query, clazz); return prepareSearch(query); } @@ -1063,6 +1060,15 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati } } + private void setPersistentEntityIndexAndType(Query query, Class clazz) { + if (query.getIndices().isEmpty()) { + query.addIndices(retrieveIndexNameFromPersistentEntity(clazz)); + } + if (query.getTypes().isEmpty()) { + query.addTypes(retrieveTypeFromPersistentEntity(clazz)); + } + } + private String[] retrieveIndexNameFromPersistentEntity(Class clazz) { if (clazz != null) { return new String[]{getPersistentEntityFor(clazz).getIndexName()};