46
46
import org .elasticsearch .action .bulk .BulkItemResponse ;
47
47
import org .elasticsearch .action .bulk .BulkRequestBuilder ;
48
48
import org .elasticsearch .action .bulk .BulkResponse ;
49
- import org .elasticsearch .action .count .CountRequestBuilder ;
50
49
import org .elasticsearch .action .get .GetResponse ;
51
50
import org .elasticsearch .action .get .MultiGetRequest ;
52
51
import org .elasticsearch .action .get .MultiGetRequestBuilder ;
93
92
import org .springframework .data .elasticsearch .core .aggregation .impl .AggregatedPageImpl ;
94
93
import org .springframework .data .elasticsearch .core .convert .ElasticsearchConverter ;
95
94
import org .springframework .data .elasticsearch .core .convert .MappingElasticsearchConverter ;
96
- import org .springframework .data .elasticsearch .core .facet .FacetRequest ;
97
95
import org .springframework .data .elasticsearch .core .mapping .ElasticsearchPersistentEntity ;
98
96
import org .springframework .data .elasticsearch .core .mapping .ElasticsearchPersistentProperty ;
99
97
import org .springframework .data .elasticsearch .core .mapping .SimpleElasticsearchMappingContext ;
113
111
* @author Oliver Gierke
114
112
* @author Mark Janssen
115
113
* @author Mark Paluch
114
+ * @author Sascha Woo
116
115
*/
117
116
public class ElasticsearchTemplate implements ElasticsearchOperations , ApplicationContextAware {
118
117
118
+ private static final Logger QUERY_LOGGER = LoggerFactory .getLogger ("org.springframework.data.elasticsearch.core.QUERY" );
119
119
private static final Logger logger = LoggerFactory .getLogger (ElasticsearchTemplate .class );
120
120
private Client client ;
121
121
private ElasticsearchConverter elasticsearchConverter ;
@@ -319,6 +319,10 @@ public <T> List<String> queryForIds(SearchQuery query) {
319
319
if (query .getFilter () != null ) {
320
320
request .setPostFilter (query .getFilter ());
321
321
}
322
+
323
+ if (QUERY_LOGGER .isDebugEnabled ())
324
+ QUERY_LOGGER .debug (request .toString ());
325
+
322
326
SearchResponse response = getSearchResponse (request .execute ());
323
327
return extractIds (response );
324
328
}
@@ -342,9 +346,9 @@ public <T> Page<T> queryForPage(CriteriaQuery criteriaQuery, Class<T> clazz) {
342
346
343
347
if (elasticsearchFilter != null )
344
348
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 ());
348
352
349
353
SearchResponse response = getSearchResponse (searchRequestBuilder .execute ());
350
354
return resultsMapper .mapResults (response , clazz , criteriaQuery .getPageable ());
@@ -357,7 +361,12 @@ public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz) {
357
361
358
362
@ Override
359
363
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 ());
361
370
return mapper .mapResults (response , clazz , query .getPageable ());
362
371
}
363
372
@@ -481,6 +490,10 @@ private long doCount(CountRequestBuilder countRequestBuilder, QueryBuilder elast
481
490
if (elasticsearchQuery != null ) {
482
491
countRequestBuilder .setQuery (elasticsearchQuery );
483
492
}
493
+
494
+ if (QUERY_LOGGER .isDebugEnabled ())
495
+ QUERY_LOGGER .debug (countRequestBuilder .toString ());
496
+
484
497
return countRequestBuilder .execute ().actionGet ().getCount ();
485
498
}
486
499
@@ -495,6 +508,10 @@ private long doCount(SearchRequestBuilder searchRequestBuilder, QueryBuilder ela
495
508
searchRequestBuilder .setPostFilter (elasticsearchFilter );
496
509
}
497
510
searchRequestBuilder .setSearchType (SearchType .COUNT );
511
+
512
+ if (QUERY_LOGGER .isDebugEnabled ())
513
+ QUERY_LOGGER .debug (searchRequestBuilder .toString ());
514
+
498
515
return searchRequestBuilder .execute ().actionGet ().getHits ().getTotalHits ();
499
516
}
500
517
@@ -807,6 +824,9 @@ private String doScan(SearchRequestBuilder requestBuilder, CriteriaQuery criteri
807
824
requestBuilder .setPostFilter (elasticsearchFilter );
808
825
}
809
826
827
+ if (QUERY_LOGGER .isDebugEnabled ())
828
+ QUERY_LOGGER .debug (requestBuilder .toString ());
829
+
810
830
return getSearchResponse (requestBuilder .execute ()).getScrollId ();
811
831
}
812
832
@@ -819,7 +839,12 @@ private String doScan(SearchRequestBuilder requestBuilder, SearchQuery searchQue
819
839
requestBuilder .setPostFilter (searchQuery .getFilter ());
820
840
}
821
841
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 ();
823
848
}
824
849
825
850
@ Override
@@ -924,7 +949,13 @@ private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery
924
949
searchRequest .addAggregation (aggregatedFacet .getFacet ());
925
950
}
926
951
}
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 ());
928
959
}
929
960
930
961
private SearchResponse getSearchResponse (ListenableActionFuture <SearchResponse > response ) {
0 commit comments