mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-25 13:32:10 +00:00
DATAES-200 Set persistent entity index and type in query when no indices/types are set.
This commit is contained in:
parent
4350234299
commit
7d645ac5e1
@ -335,6 +335,7 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati
|
|||||||
@Override
|
@Override
|
||||||
public <T> CloseableIterator<T> stream(CriteriaQuery query, Class<T> clazz) {
|
public <T> CloseableIterator<T> stream(CriteriaQuery query, Class<T> clazz) {
|
||||||
final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis();
|
final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis();
|
||||||
|
setPersistentEntityIndexAndType(query, clazz);
|
||||||
final String initScrollId = scan(query, scrollTimeInMillis, false);
|
final String initScrollId = scan(query, scrollTimeInMillis, false);
|
||||||
return doStream(initScrollId, scrollTimeInMillis, clazz, resultsMapper);
|
return doStream(initScrollId, scrollTimeInMillis, clazz, resultsMapper);
|
||||||
}
|
}
|
||||||
@ -347,6 +348,7 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati
|
|||||||
@Override
|
@Override
|
||||||
public <T> CloseableIterator<T> stream(SearchQuery query, final Class<T> clazz, final SearchResultMapper mapper) {
|
public <T> CloseableIterator<T> stream(SearchQuery query, final Class<T> clazz, final SearchResultMapper mapper) {
|
||||||
final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis();
|
final long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis();
|
||||||
|
setPersistentEntityIndexAndType(query, clazz);
|
||||||
final String initScrollId = scan(query, scrollTimeInMillis, false);
|
final String initScrollId = scan(query, scrollTimeInMillis, false);
|
||||||
return doStream(initScrollId, scrollTimeInMillis, clazz, mapper);
|
return doStream(initScrollId, scrollTimeInMillis, clazz, mapper);
|
||||||
}
|
}
|
||||||
@ -896,12 +898,7 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati
|
|||||||
}
|
}
|
||||||
|
|
||||||
private <T> SearchRequestBuilder prepareSearch(Query query, Class<T> clazz) {
|
private <T> SearchRequestBuilder prepareSearch(Query query, Class<T> clazz) {
|
||||||
if (query.getIndices().isEmpty()) {
|
setPersistentEntityIndexAndType(query, clazz);
|
||||||
query.addIndices(retrieveIndexNameFromPersistentEntity(clazz));
|
|
||||||
}
|
|
||||||
if (query.getTypes().isEmpty()) {
|
|
||||||
query.addTypes(retrieveTypeFromPersistentEntity(clazz));
|
|
||||||
}
|
|
||||||
return prepareSearch(query);
|
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) {
|
private String[] retrieveIndexNameFromPersistentEntity(Class clazz) {
|
||||||
if (clazz != null) {
|
if (clazz != null) {
|
||||||
return new String[]{getPersistentEntityFor(clazz).getIndexName()};
|
return new String[]{getPersistentEntityFor(clazz).getIndexName()};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user