Skip to content

Commit 930b702

Browse files
committed
[DATAES-317] introduce query logging in ElasticsearchTemplate
1 parent 21b937f commit 930b702

File tree

1 file changed

+41
-11
lines changed

1 file changed

+41
-11
lines changed

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

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2013-2016 the original author or authors.
2+
* Copyright 2013-2017 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -41,7 +41,6 @@
4141
import org.elasticsearch.action.bulk.BulkItemResponse;
4242
import org.elasticsearch.action.bulk.BulkRequestBuilder;
4343
import org.elasticsearch.action.bulk.BulkResponse;
44-
import org.elasticsearch.action.count.CountRequestBuilder;
4544
import org.elasticsearch.action.get.GetResponse;
4645
import org.elasticsearch.action.get.MultiGetRequest;
4746
import org.elasticsearch.action.get.MultiGetRequestBuilder;
@@ -85,7 +84,6 @@
8584
import org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl;
8685
import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter;
8786
import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter;
88-
import org.springframework.data.elasticsearch.core.facet.FacetRequest;
8987
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity;
9088
import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext;
9189
import org.springframework.data.elasticsearch.core.query.*;
@@ -104,10 +102,12 @@
104102
* @author Young Gu
105103
* @author Oliver Gierke
106104
* @author Mark Janssen
105+
* @author Sascha Woo
107106
*/
108107

109108
public class ElasticsearchTemplate implements ElasticsearchOperations, ApplicationContextAware {
110109

110+
private static final Logger QUERY_LOGGER = LoggerFactory.getLogger("org.springframework.data.elasticsearch.core.QUERY");
111111
private static final Logger logger = LoggerFactory.getLogger(ElasticsearchTemplate.class);
112112
private Client client;
113113
private ElasticsearchConverter elasticsearchConverter;
@@ -304,6 +304,10 @@ public <T> List<String> queryForIds(SearchQuery query) {
304304
if (query.getFilter() != null) {
305305
request.setPostFilter(query.getFilter());
306306
}
307+
308+
if (QUERY_LOGGER.isDebugEnabled())
309+
QUERY_LOGGER.debug(request.toString());
310+
307311
SearchResponse response = getSearchResponse(request.execute());
308312
return extractIds(response);
309313
}
@@ -326,12 +330,11 @@ public <T> Page<T> queryForPage(CriteriaQuery criteriaQuery, Class<T> clazz) {
326330

327331
if (elasticsearchFilter != null)
328332
searchRequestBuilder.setPostFilter(elasticsearchFilter);
329-
if (logger.isDebugEnabled()) {
330-
logger.debug("doSearch query:\n" + searchRequestBuilder.toString());
331-
}
332333

333-
SearchResponse response = getSearchResponse(searchRequestBuilder
334-
.execute());
334+
if (QUERY_LOGGER.isDebugEnabled())
335+
QUERY_LOGGER.debug(searchRequestBuilder.toString());
336+
337+
SearchResponse response = getSearchResponse(searchRequestBuilder.execute());
335338
return resultsMapper.mapResults(response, clazz, criteriaQuery.getPageable());
336339
}
337340

@@ -342,7 +345,12 @@ public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz) {
342345

343346
@Override
344347
public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz, SearchResultMapper mapper) {
345-
SearchResponse response = getSearchResponse(prepareSearch(query, clazz).setQuery(query.getSource()).execute());
348+
SearchRequestBuilder requestBuilder = prepareSearch(query, clazz).setQuery(query.getSource());
349+
350+
if (QUERY_LOGGER.isDebugEnabled())
351+
QUERY_LOGGER.debug(requestBuilder.toString());
352+
353+
SearchResponse response = getSearchResponse(requestBuilder.execute());
346354
return mapper.mapResults(response, clazz, query.getPageable());
347355
}
348356

@@ -464,6 +472,10 @@ private long doCount(CountRequestBuilder countRequestBuilder, QueryBuilder elast
464472
if (elasticsearchQuery != null) {
465473
countRequestBuilder.setQuery(elasticsearchQuery);
466474
}
475+
476+
if (QUERY_LOGGER.isDebugEnabled())
477+
QUERY_LOGGER.debug(countRequestBuilder.toString());
478+
467479
return countRequestBuilder.execute().actionGet().getCount();
468480
}
469481

@@ -477,6 +489,10 @@ private long doCount(SearchRequestBuilder searchRequestBuilder, QueryBuilder ela
477489
searchRequestBuilder.setPostFilter(elasticsearchFilter);
478490
}
479491
searchRequestBuilder.setSearchType(SearchType.COUNT);
492+
493+
if (QUERY_LOGGER.isDebugEnabled())
494+
QUERY_LOGGER.debug(searchRequestBuilder.toString());
495+
480496
return searchRequestBuilder.execute().actionGet().getHits().getTotalHits();
481497
}
482498

@@ -780,6 +796,9 @@ private String doScan(SearchRequestBuilder requestBuilder, CriteriaQuery criteri
780796
requestBuilder.setPostFilter(elasticsearchFilter);
781797
}
782798

799+
if (QUERY_LOGGER.isDebugEnabled())
800+
QUERY_LOGGER.debug(requestBuilder.toString());
801+
783802
return getSearchResponse(requestBuilder.execute()).getScrollId();
784803
}
785804

@@ -792,7 +811,12 @@ private String doScan(SearchRequestBuilder requestBuilder, SearchQuery searchQue
792811
requestBuilder.setPostFilter(searchQuery.getFilter());
793812
}
794813

795-
return getSearchResponse(requestBuilder.setQuery(searchQuery.getQuery()).execute()).getScrollId();
814+
requestBuilder.setQuery(searchQuery.getQuery());
815+
816+
if (QUERY_LOGGER.isDebugEnabled())
817+
QUERY_LOGGER.debug(requestBuilder.toString());
818+
819+
return getSearchResponse(requestBuilder.execute()).getScrollId();
796820
}
797821

798822
@Override
@@ -897,7 +921,13 @@ private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery
897921
searchRequest.addAggregation(aggregatedFacet.getFacet());
898922
}
899923
}
900-
return getSearchResponse(searchRequest.setQuery(searchQuery.getQuery()).execute());
924+
925+
searchRequest.setQuery(searchQuery.getQuery());
926+
927+
if (QUERY_LOGGER.isDebugEnabled())
928+
QUERY_LOGGER.debug(searchRequest.toString());
929+
930+
return getSearchResponse(searchRequest.execute());
901931
}
902932

903933
private SearchResponse getSearchResponse(ListenableActionFuture<SearchResponse> response) {

0 commit comments

Comments
 (0)