Skip to content

Commit 2497fcd

Browse files
xhaggiodrotbohm
authored andcommitted
DATAES-317 - Introduce query logging in ElasticsearchTemplate.
Original pull request: #180.
1 parent 0fbb4ca commit 2497fcd

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

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

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import static org.elasticsearch.index.VersionType.*;
2020
import static org.elasticsearch.index.query.QueryBuilders.*;
2121
import static org.springframework.data.elasticsearch.core.MappingBuilder.*;
22-
import static org.springframework.util.CollectionUtils.isEmpty;
22+
import static org.springframework.util.CollectionUtils.*;
2323

2424
import java.io.BufferedReader;
2525
import java.io.IOException;
@@ -51,6 +51,7 @@
5151
import org.elasticsearch.action.index.IndexRequestBuilder;
5252
import org.elasticsearch.action.search.SearchRequestBuilder;
5353
import org.elasticsearch.action.search.SearchResponse;
54+
import org.elasticsearch.action.search.SearchScrollRequestBuilder;
5455
import org.elasticsearch.action.update.UpdateRequestBuilder;
5556
import org.elasticsearch.action.update.UpdateResponse;
5657
import org.elasticsearch.client.Client;
@@ -131,7 +132,8 @@
131132
*/
132133
public class ElasticsearchTemplate implements ElasticsearchOperations, ApplicationContextAware {
133134

134-
private static final Logger logger = LoggerFactory.getLogger(ElasticsearchTemplate.class);
135+
private static final Logger QUERY_LOGGER = LoggerFactory.getLogger("org.springframework.data.elasticsearch.core.QUERY");
136+
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticsearchTemplate.class);
135137
private static final String FIELD_SCORE = "_score";
136138

137139
private Client client;
@@ -203,7 +205,7 @@ public <T> boolean putMapping(Class<T> clazz) {
203205
return putMapping(clazz, mappings);
204206
}
205207
} else {
206-
logger.info("mappingPath in @Mapping has to be defined. Building mappings using @Field");
208+
LOGGER.info("mappingPath in @Mapping has to be defined. Building mappings using @Field");
207209
}
208210
}
209211
ElasticsearchPersistentEntity<T> persistentEntity = getPersistentEntityFor(clazz);
@@ -334,7 +336,7 @@ public <T> List<String> queryForIds(SearchQuery query) {
334336
if (query.getFilter() != null) {
335337
request.setPostFilter(query.getFilter());
336338
}
337-
SearchResponse response = getSearchResponse(request.execute());
339+
SearchResponse response = getSearchResponse(request);
338340
return extractIds(response);
339341
}
340342

@@ -357,11 +359,8 @@ public <T> Page<T> queryForPage(CriteriaQuery criteriaQuery, Class<T> clazz) {
357359

358360
if (elasticsearchFilter != null)
359361
searchRequestBuilder.setPostFilter(elasticsearchFilter);
360-
if (logger.isDebugEnabled()) {
361-
logger.debug("doSearch query:\n" + searchRequestBuilder.toString());
362-
}
363362

364-
SearchResponse response = getSearchResponse(searchRequestBuilder.execute());
363+
SearchResponse response = getSearchResponse(searchRequestBuilder);
365364
return resultsMapper.mapResults(response, clazz, criteriaQuery.getPageable());
366365
}
367366

@@ -372,7 +371,7 @@ public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz) {
372371

373372
@Override
374373
public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz, SearchResultMapper mapper) {
375-
SearchResponse response = getSearchResponse(prepareSearch(query, clazz).setQuery(wrapperQuery(query.getSource())).execute());
374+
SearchResponse response = getSearchResponse(prepareSearch(query, clazz).setQuery(wrapperQuery(query.getSource())));
376375
return mapper.mapResults(response, clazz, query.getPageable());
377376
}
378377

@@ -788,7 +787,7 @@ private SearchResponse doScroll(SearchRequestBuilder requestBuilder, CriteriaQue
788787
requestBuilder.setPostFilter(elasticsearchFilter);
789788
}
790789

791-
return getSearchResponse(requestBuilder.execute());
790+
return getSearchResponse(requestBuilder);
792791
}
793792

794793
private SearchResponse doScroll(SearchRequestBuilder requestBuilder, SearchQuery searchQuery) {
@@ -800,7 +799,7 @@ private SearchResponse doScroll(SearchRequestBuilder requestBuilder, SearchQuery
800799
requestBuilder.setPostFilter(searchQuery.getFilter());
801800
}
802801

803-
return getSearchResponse(requestBuilder.setQuery(searchQuery.getQuery()).execute());
802+
return getSearchResponse(requestBuilder.setQuery(searchQuery.getQuery()));
804803
}
805804

806805
public <T> Page<T> startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class<T> clazz) {
@@ -926,7 +925,16 @@ private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery
926925
searchRequest.addAggregation(aggregatedFacet.getFacet());
927926
}
928927
}
929-
return getSearchResponse(searchRequest.setQuery(searchQuery.getQuery()).execute());
928+
return getSearchResponse(searchRequest.setQuery(searchQuery.getQuery()));
929+
}
930+
931+
private SearchResponse getSearchResponse(SearchRequestBuilder requestBuilder) {
932+
933+
if (QUERY_LOGGER.isDebugEnabled()) {
934+
QUERY_LOGGER.debug(requestBuilder.toString());
935+
}
936+
937+
return getSearchResponse(requestBuilder.execute());
930938
}
931939

932940
private SearchResponse getSearchResponse(ListenableActionFuture<SearchResponse> response) {
@@ -946,7 +954,7 @@ private <T> boolean createIndexWithSettings(Class<T> clazz) {
946954
return createIndex(getPersistentEntityFor(clazz).getIndexName(), settings);
947955
}
948956
} else {
949-
logger.info("settingPath in @Setting has to be defined. Using default instead.");
957+
LOGGER.info("settingPath in @Setting has to be defined. Using default instead.");
950958
}
951959
}
952960
return createIndex(getPersistentEntityFor(clazz).getIndexName(), getDefaultSettings(getPersistentEntityFor(clazz)));
@@ -1239,14 +1247,14 @@ public static String readFileFromClasspath(String url) {
12391247
stringBuilder.append(line).append(lineSeparator);
12401248
}
12411249
} catch (Exception e) {
1242-
logger.debug(String.format("Failed to load file from url: %s: %s", url, e.getMessage()));
1250+
LOGGER.debug(String.format("Failed to load file from url: %s: %s", url, e.getMessage()));
12431251
return null;
12441252
} finally {
12451253
if (bufferedReader != null)
12461254
try {
12471255
bufferedReader.close();
12481256
} catch (IOException e) {
1249-
logger.debug(String.format("Unable to close buffered reader.. %s", e.getMessage()));
1257+
LOGGER.debug(String.format("Unable to close buffered reader.. %s", e.getMessage()));
12501258
}
12511259
}
12521260

0 commit comments

Comments
 (0)