19
19
import static org .elasticsearch .index .VersionType .*;
20
20
import static org .elasticsearch .index .query .QueryBuilders .*;
21
21
import static org .springframework .data .elasticsearch .core .MappingBuilder .*;
22
- import static org .springframework .util .CollectionUtils .isEmpty ;
22
+ import static org .springframework .util .CollectionUtils .* ;
23
23
24
24
import java .io .BufferedReader ;
25
25
import java .io .IOException ;
52
52
import org .elasticsearch .action .index .IndexRequestBuilder ;
53
53
import org .elasticsearch .action .search .SearchRequestBuilder ;
54
54
import org .elasticsearch .action .search .SearchResponse ;
55
+ import org .elasticsearch .action .search .SearchScrollRequestBuilder ;
55
56
import org .elasticsearch .action .update .UpdateRequestBuilder ;
56
57
import org .elasticsearch .action .update .UpdateResponse ;
57
58
import org .elasticsearch .client .Client ;
136
137
*/
137
138
public class ElasticsearchTemplate implements ElasticsearchOperations , ApplicationContextAware {
138
139
139
- private static final Logger logger = LoggerFactory .getLogger (ElasticsearchTemplate .class );
140
+ private static final Logger QUERY_LOGGER = LoggerFactory .getLogger ("org.springframework.data.elasticsearch.core.QUERY" );
141
+ private static final Logger LOGGER = LoggerFactory .getLogger (ElasticsearchTemplate .class );
140
142
private static final String FIELD_SCORE = "_score" ;
141
143
142
144
private Client client ;
@@ -208,7 +210,7 @@ public <T> boolean putMapping(Class<T> clazz) {
208
210
return putMapping (clazz , mappings );
209
211
}
210
212
} else {
211
- logger .info ("mappingPath in @Mapping has to be defined. Building mappings using @Field" );
213
+ LOGGER .info ("mappingPath in @Mapping has to be defined. Building mappings using @Field" );
212
214
}
213
215
}
214
216
ElasticsearchPersistentEntity <T > persistentEntity = getPersistentEntityFor (clazz );
@@ -339,7 +341,7 @@ public <T> List<String> queryForIds(SearchQuery query) {
339
341
if (query .getFilter () != null ) {
340
342
request .setPostFilter (query .getFilter ());
341
343
}
342
- SearchResponse response = getSearchResponse (request . execute () );
344
+ SearchResponse response = getSearchResponse (request );
343
345
return extractIds (response );
344
346
}
345
347
@@ -362,11 +364,8 @@ public <T> Page<T> queryForPage(CriteriaQuery criteriaQuery, Class<T> clazz) {
362
364
363
365
if (elasticsearchFilter != null )
364
366
searchRequestBuilder .setPostFilter (elasticsearchFilter );
365
- if (logger .isDebugEnabled ()) {
366
- logger .debug ("doSearch query:\n " + searchRequestBuilder .toString ());
367
- }
368
367
369
- SearchResponse response = getSearchResponse (searchRequestBuilder . execute () );
368
+ SearchResponse response = getSearchResponse (searchRequestBuilder );
370
369
return resultsMapper .mapResults (response , clazz , criteriaQuery .getPageable ());
371
370
}
372
371
@@ -377,7 +376,7 @@ public <T> Page<T> queryForPage(StringQuery query, Class<T> clazz) {
377
376
378
377
@ Override
379
378
public <T > Page <T > queryForPage (StringQuery query , Class <T > clazz , SearchResultMapper mapper ) {
380
- SearchResponse response = getSearchResponse (prepareSearch (query , clazz ).setQuery (wrapperQuery (query .getSource ())). execute () );
379
+ SearchResponse response = getSearchResponse (prepareSearch (query , clazz ).setQuery (wrapperQuery (query .getSource ())));
381
380
return mapper .mapResults (response , clazz , query .getPageable ());
382
381
}
383
382
@@ -793,7 +792,7 @@ private SearchResponse doScroll(SearchRequestBuilder requestBuilder, CriteriaQue
793
792
requestBuilder .setPostFilter (elasticsearchFilter );
794
793
}
795
794
796
- return getSearchResponse (requestBuilder . execute () );
795
+ return getSearchResponse (requestBuilder );
797
796
}
798
797
799
798
private SearchResponse doScroll (SearchRequestBuilder requestBuilder , SearchQuery searchQuery ) {
@@ -805,7 +804,7 @@ private SearchResponse doScroll(SearchRequestBuilder requestBuilder, SearchQuery
805
804
requestBuilder .setPostFilter (searchQuery .getFilter ());
806
805
}
807
806
808
- return getSearchResponse (requestBuilder .setQuery (searchQuery .getQuery ()). execute () );
807
+ return getSearchResponse (requestBuilder .setQuery (searchQuery .getQuery ()));
809
808
}
810
809
811
810
public <T > Page <T > startScroll (long scrollTimeInMillis , SearchQuery searchQuery , Class <T > clazz ) {
@@ -830,13 +829,13 @@ public <T> Page<T> startScroll(long scrollTimeInMillis, CriteriaQuery criteriaQu
830
829
831
830
public <T > Page <T > continueScroll (@ Nullable String scrollId , long scrollTimeInMillis , Class <T > clazz ) {
832
831
SearchResponse response = getSearchResponse (client .prepareSearchScroll (scrollId )
833
- .setScroll (TimeValue .timeValueMillis (scrollTimeInMillis )). execute () );
832
+ .setScroll (TimeValue .timeValueMillis (scrollTimeInMillis )));
834
833
return resultsMapper .mapResults (response , clazz , Pageable .unpaged ());
835
834
}
836
835
837
836
public <T > Page <T > continueScroll (@ Nullable String scrollId , long scrollTimeInMillis , Class <T > clazz , SearchResultMapper mapper ) {
838
837
SearchResponse response = getSearchResponse (client .prepareSearchScroll (scrollId )
839
- .setScroll (TimeValue .timeValueMillis (scrollTimeInMillis )). execute () );
838
+ .setScroll (TimeValue .timeValueMillis (scrollTimeInMillis )));
840
839
return mapper .mapResults (response , clazz , Pageable .unpaged ());
841
840
}
842
841
@@ -931,7 +930,19 @@ private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery
931
930
searchRequest .addAggregation (aggregatedFacet .getFacet ());
932
931
}
933
932
}
934
- return getSearchResponse (searchRequest .setQuery (searchQuery .getQuery ()).execute ());
933
+ return getSearchResponse (searchRequest .setQuery (searchQuery .getQuery ()));
934
+ }
935
+
936
+ private SearchResponse getSearchResponse (SearchScrollRequestBuilder requestBuilder ) {
937
+ if (QUERY_LOGGER .isDebugEnabled ())
938
+ QUERY_LOGGER .debug (requestBuilder .toString ());
939
+ return getSearchResponse (requestBuilder .execute ());
940
+ }
941
+
942
+ private SearchResponse getSearchResponse (SearchRequestBuilder requestBuilder ) {
943
+ if (QUERY_LOGGER .isDebugEnabled ())
944
+ QUERY_LOGGER .debug (requestBuilder .toString ());
945
+ return getSearchResponse (requestBuilder .execute ());
935
946
}
936
947
937
948
private SearchResponse getSearchResponse (ActionFuture <SearchResponse > response ) {
@@ -951,7 +962,7 @@ private <T> boolean createIndexWithSettings(Class<T> clazz) {
951
962
return createIndex (getPersistentEntityFor (clazz ).getIndexName (), settings );
952
963
}
953
964
} else {
954
- logger .info ("settingPath in @Setting has to be defined. Using default instead." );
965
+ LOGGER .info ("settingPath in @Setting has to be defined. Using default instead." );
955
966
}
956
967
}
957
968
return createIndex (getPersistentEntityFor (clazz ).getIndexName (), getDefaultSettings (getPersistentEntityFor (clazz )));
@@ -1254,14 +1265,14 @@ public static String readFileFromClasspath(String url) {
1254
1265
stringBuilder .append (line ).append (lineSeparator );
1255
1266
}
1256
1267
} catch (Exception e ) {
1257
- logger .debug (String .format ("Failed to load file from url: %s: %s" , url , e .getMessage ()));
1268
+ LOGGER .debug (String .format ("Failed to load file from url: %s: %s" , url , e .getMessage ()));
1258
1269
return null ;
1259
1270
} finally {
1260
1271
if (bufferedReader != null )
1261
1272
try {
1262
1273
bufferedReader .close ();
1263
1274
} catch (IOException e ) {
1264
- logger .debug (String .format ("Unable to close buffered reader.. %s" , e .getMessage ()));
1275
+ LOGGER .debug (String .format ("Unable to close buffered reader.. %s" , e .getMessage ()));
1265
1276
}
1266
1277
}
1267
1278
0 commit comments