Skip to content

Commit 0919dab

Browse files
committed
[DATAES-317] introduce query logging in ElasticsearchTemplate
1 parent 4bb7f89 commit 0919dab

File tree

1 file changed

+39
-8
lines changed

1 file changed

+39
-8
lines changed

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

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
import org.elasticsearch.action.bulk.BulkItemResponse;
4747
import org.elasticsearch.action.bulk.BulkRequestBuilder;
4848
import org.elasticsearch.action.bulk.BulkResponse;
49-
import org.elasticsearch.action.count.CountRequestBuilder;
5049
import org.elasticsearch.action.get.GetResponse;
5150
import org.elasticsearch.action.get.MultiGetRequest;
5251
import org.elasticsearch.action.get.MultiGetRequestBuilder;
@@ -93,7 +92,6 @@
9392
import org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl;
9493
import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter;
9594
import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter;
96-
import org.springframework.data.elasticsearch.core.facet.FacetRequest;
9795
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity;
9896
import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentProperty;
9997
import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext;
@@ -113,9 +111,11 @@
113111
* @author Oliver Gierke
114112
* @author Mark Janssen
115113
* @author Mark Paluch
114+
* @author Sascha Woo
116115
*/
117116
public class ElasticsearchTemplate implements ElasticsearchOperations, ApplicationContextAware {
118117

118+
private static final Logger QUERY_LOGGER = LoggerFactory.getLogger("org.springframework.data.elasticsearch.core.QUERY");
119119
private static final Logger logger = LoggerFactory.getLogger(ElasticsearchTemplate.class);
120120
private Client client;
121121
private ElasticsearchConverter elasticsearchConverter;
@@ -319,6 +319,10 @@ public <T> List<String> queryForIds(SearchQuery query) {
319319
if (query.getFilter() != null) {
320320
request.setPostFilter(query.getFilter());
321321
}
322+
323+
if (QUERY_LOGGER.isDebugEnabled())
324+
QUERY_LOGGER.debug(request.toString());
325+
322326
SearchResponse response = getSearchResponse(request.execute());
323327
return extractIds(response);
324328
}
@@ -342,9 +346,9 @@ public <T> Page<T> queryForPage(CriteriaQuery criteriaQuery, Class<T> clazz) {
342346

343347
if (elasticsearchFilter != null)
344348
searchRequestBuilder.setPostFilter(elasticsearchFilter);
345-
if (logger.isDebugEnabled()) {
346-
logger.debug("doSearch query:\n" + searchRequestBuilder.toString());
347-
}
349+
350+
if (QUERY_LOGGER.isDebugEnabled())
351+
QUERY_LOGGER.debug(searchRequestBuilder.toString());
348352

349353
SearchResponse response = getSearchResponse(searchRequestBuilder.execute());
350354
return resultsMapper.mapResults(response, clazz, criteriaQuery.getPageable());
@@ -357,7 +361,12 @@ public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz) {
357361

358362
@Override
359363
public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz, SearchResultMapper mapper) {
360-
SearchResponse response = getSearchResponse(prepareSearch(query, clazz).setQuery(query.getSource()).execute());
364+
SearchRequestBuilder requestBuilder = prepareSearch(query, clazz).setQuery(query.getSource());
365+
366+
if (QUERY_LOGGER.isDebugEnabled())
367+
QUERY_LOGGER.debug(requestBuilder.toString());
368+
369+
SearchResponse response = getSearchResponse(requestBuilder.execute());
361370
return mapper.mapResults(response, clazz, query.getPageable());
362371
}
363372

@@ -481,6 +490,10 @@ private long doCount(CountRequestBuilder countRequestBuilder, QueryBuilder elast
481490
if (elasticsearchQuery != null) {
482491
countRequestBuilder.setQuery(elasticsearchQuery);
483492
}
493+
494+
if (QUERY_LOGGER.isDebugEnabled())
495+
QUERY_LOGGER.debug(countRequestBuilder.toString());
496+
484497
return countRequestBuilder.execute().actionGet().getCount();
485498
}
486499

@@ -495,6 +508,10 @@ private long doCount(SearchRequestBuilder searchRequestBuilder, QueryBuilder ela
495508
searchRequestBuilder.setPostFilter(elasticsearchFilter);
496509
}
497510
searchRequestBuilder.setSearchType(SearchType.COUNT);
511+
512+
if (QUERY_LOGGER.isDebugEnabled())
513+
QUERY_LOGGER.debug(searchRequestBuilder.toString());
514+
498515
return searchRequestBuilder.execute().actionGet().getHits().getTotalHits();
499516
}
500517

@@ -807,6 +824,9 @@ private String doScan(SearchRequestBuilder requestBuilder, CriteriaQuery criteri
807824
requestBuilder.setPostFilter(elasticsearchFilter);
808825
}
809826

827+
if (QUERY_LOGGER.isDebugEnabled())
828+
QUERY_LOGGER.debug(requestBuilder.toString());
829+
810830
return getSearchResponse(requestBuilder.execute()).getScrollId();
811831
}
812832

@@ -819,7 +839,12 @@ private String doScan(SearchRequestBuilder requestBuilder, SearchQuery searchQue
819839
requestBuilder.setPostFilter(searchQuery.getFilter());
820840
}
821841

822-
return getSearchResponse(requestBuilder.setQuery(searchQuery.getQuery()).execute()).getScrollId();
842+
requestBuilder.setQuery(searchQuery.getQuery());
843+
844+
if (QUERY_LOGGER.isDebugEnabled())
845+
QUERY_LOGGER.debug(requestBuilder.toString());
846+
847+
return getSearchResponse(requestBuilder.execute()).getScrollId();
823848
}
824849

825850
@Override
@@ -924,7 +949,13 @@ private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery
924949
searchRequest.addAggregation(aggregatedFacet.getFacet());
925950
}
926951
}
927-
return getSearchResponse(searchRequest.setQuery(searchQuery.getQuery()).execute());
952+
953+
searchRequest.setQuery(searchQuery.getQuery());
954+
955+
if (QUERY_LOGGER.isDebugEnabled())
956+
QUERY_LOGGER.debug(searchRequest.toString());
957+
958+
return getSearchResponse(searchRequest.execute());
928959
}
929960

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

0 commit comments

Comments
 (0)