1
1
/*
2
- * Copyright 2013-2016 the original author or authors.
2
+ * Copyright 2013-2017 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
41
41
import org .elasticsearch .action .bulk .BulkItemResponse ;
42
42
import org .elasticsearch .action .bulk .BulkRequestBuilder ;
43
43
import org .elasticsearch .action .bulk .BulkResponse ;
44
- import org .elasticsearch .action .count .CountRequestBuilder ;
45
44
import org .elasticsearch .action .get .GetResponse ;
46
45
import org .elasticsearch .action .get .MultiGetRequest ;
47
46
import org .elasticsearch .action .get .MultiGetRequestBuilder ;
85
84
import org .springframework .data .elasticsearch .core .aggregation .impl .AggregatedPageImpl ;
86
85
import org .springframework .data .elasticsearch .core .convert .ElasticsearchConverter ;
87
86
import org .springframework .data .elasticsearch .core .convert .MappingElasticsearchConverter ;
88
- import org .springframework .data .elasticsearch .core .facet .FacetRequest ;
89
87
import org .springframework .data .elasticsearch .core .mapping .ElasticsearchPersistentEntity ;
90
88
import org .springframework .data .elasticsearch .core .mapping .SimpleElasticsearchMappingContext ;
91
89
import org .springframework .data .elasticsearch .core .query .*;
104
102
* @author Young Gu
105
103
* @author Oliver Gierke
106
104
* @author Mark Janssen
105
+ * @author Sascha Woo
107
106
*/
108
107
109
108
public class ElasticsearchTemplate implements ElasticsearchOperations , ApplicationContextAware {
110
109
110
+ private static final Logger QUERY_LOGGER = LoggerFactory .getLogger ("org.springframework.data.elasticsearch.core.QUERY" );
111
111
private static final Logger logger = LoggerFactory .getLogger (ElasticsearchTemplate .class );
112
112
private Client client ;
113
113
private ElasticsearchConverter elasticsearchConverter ;
@@ -304,6 +304,10 @@ public <T> List<String> queryForIds(SearchQuery query) {
304
304
if (query .getFilter () != null ) {
305
305
request .setPostFilter (query .getFilter ());
306
306
}
307
+
308
+ if (QUERY_LOGGER .isDebugEnabled ())
309
+ QUERY_LOGGER .debug (request .toString ());
310
+
307
311
SearchResponse response = getSearchResponse (request .execute ());
308
312
return extractIds (response );
309
313
}
@@ -326,12 +330,11 @@ public <T> Page<T> queryForPage(CriteriaQuery criteriaQuery, Class<T> clazz) {
326
330
327
331
if (elasticsearchFilter != null )
328
332
searchRequestBuilder .setPostFilter (elasticsearchFilter );
329
- if (logger .isDebugEnabled ()) {
330
- logger .debug ("doSearch query:\n " + searchRequestBuilder .toString ());
331
- }
332
333
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 ());
335
338
return resultsMapper .mapResults (response , clazz , criteriaQuery .getPageable ());
336
339
}
337
340
@@ -342,7 +345,12 @@ public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz) {
342
345
343
346
@ Override
344
347
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 ());
346
354
return mapper .mapResults (response , clazz , query .getPageable ());
347
355
}
348
356
@@ -464,6 +472,10 @@ private long doCount(CountRequestBuilder countRequestBuilder, QueryBuilder elast
464
472
if (elasticsearchQuery != null ) {
465
473
countRequestBuilder .setQuery (elasticsearchQuery );
466
474
}
475
+
476
+ if (QUERY_LOGGER .isDebugEnabled ())
477
+ QUERY_LOGGER .debug (countRequestBuilder .toString ());
478
+
467
479
return countRequestBuilder .execute ().actionGet ().getCount ();
468
480
}
469
481
@@ -477,6 +489,10 @@ private long doCount(SearchRequestBuilder searchRequestBuilder, QueryBuilder ela
477
489
searchRequestBuilder .setPostFilter (elasticsearchFilter );
478
490
}
479
491
searchRequestBuilder .setSearchType (SearchType .COUNT );
492
+
493
+ if (QUERY_LOGGER .isDebugEnabled ())
494
+ QUERY_LOGGER .debug (searchRequestBuilder .toString ());
495
+
480
496
return searchRequestBuilder .execute ().actionGet ().getHits ().getTotalHits ();
481
497
}
482
498
@@ -780,6 +796,9 @@ private String doScan(SearchRequestBuilder requestBuilder, CriteriaQuery criteri
780
796
requestBuilder .setPostFilter (elasticsearchFilter );
781
797
}
782
798
799
+ if (QUERY_LOGGER .isDebugEnabled ())
800
+ QUERY_LOGGER .debug (requestBuilder .toString ());
801
+
783
802
return getSearchResponse (requestBuilder .execute ()).getScrollId ();
784
803
}
785
804
@@ -792,7 +811,12 @@ private String doScan(SearchRequestBuilder requestBuilder, SearchQuery searchQue
792
811
requestBuilder .setPostFilter (searchQuery .getFilter ());
793
812
}
794
813
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 ();
796
820
}
797
821
798
822
@ Override
@@ -897,7 +921,13 @@ private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery
897
921
searchRequest .addAggregation (aggregatedFacet .getFacet ());
898
922
}
899
923
}
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 ());
901
931
}
902
932
903
933
private SearchResponse getSearchResponse (ListenableActionFuture <SearchResponse > response ) {
0 commit comments