17
17
18
18
import static org .elasticsearch .client .Requests .*;
19
19
import static org .elasticsearch .index .query .QueryBuilders .*;
20
- import static org .springframework .util .CollectionUtils .isEmpty ;
21
- import static org .springframework .util .StringUtils .*;
20
+ import static org .springframework .util .CollectionUtils .*;
22
21
23
22
import java .io .IOException ;
24
23
import java .util .ArrayList ;
71
70
import org .elasticsearch .common .xcontent .XContentBuilder ;
72
71
import org .elasticsearch .common .xcontent .XContentType ;
73
72
import org .elasticsearch .index .VersionType ;
74
- import org .elasticsearch .index .query .MoreLikeThisQueryBuilder ;
75
73
import org .elasticsearch .index .query .QueryBuilder ;
76
74
import org .elasticsearch .index .query .QueryBuilders ;
77
75
import org .elasticsearch .index .reindex .DeleteByQueryRequest ;
@@ -531,7 +529,7 @@ public String index(IndexQuery query, IndexCoordinates index) {
531
529
532
530
@ Override
533
531
public UpdateResponse update (UpdateQuery query , IndexCoordinates index ) {
534
- UpdateRequest request = requestFactory .updateRequestFor (query , index );
532
+ UpdateRequest request = requestFactory .updateRequest (query , index );
535
533
try {
536
534
return client .update (request , RequestOptions .DEFAULT );
537
535
} catch (IOException e ) {
@@ -541,62 +539,29 @@ public UpdateResponse update(UpdateQuery query, IndexCoordinates index) {
541
539
542
540
@ Override
543
541
public void bulkIndex (List <IndexQuery > queries , BulkOptions bulkOptions , IndexCoordinates index ) {
544
-
545
542
Assert .notNull (queries , "List of IndexQuery must not be null" );
546
543
Assert .notNull (bulkOptions , "BulkOptions must not be null" );
547
544
548
- BulkRequest bulkRequest = new BulkRequest ();
549
- setBulkOptions (bulkRequest , bulkOptions );
550
- queries .stream () //
551
- .map (query -> requestFactory .indexRequest (query , index )) //
552
- .forEach (bulkRequest ::add );
553
- try {
554
- checkForBulkUpdateFailure (client .bulk (bulkRequest , RequestOptions .DEFAULT ));
555
- } catch (IOException e ) {
556
- throw new ElasticsearchException ("Error while bulk for request: " + bulkRequest .toString (), e );
557
- }
545
+ doBulkOperation (queries , bulkOptions , index );
558
546
}
559
547
560
548
@ Override
561
549
public void bulkUpdate (List <UpdateQuery > queries , BulkOptions bulkOptions , IndexCoordinates index ) {
562
-
563
550
Assert .notNull (queries , "List of UpdateQuery must not be null" );
564
551
Assert .notNull (bulkOptions , "BulkOptions must not be null" );
565
552
566
- BulkRequest bulkRequest = new BulkRequest ( );
567
- setBulkOptions ( bulkRequest , bulkOptions );
568
- for ( UpdateQuery query : queries ) {
569
- bulkRequest . add ( requestFactory . updateRequestFor ( query , index ));
570
- }
553
+ doBulkOperation ( queries , bulkOptions , index );
554
+ }
555
+
556
+ private void doBulkOperation ( List <?> queries , BulkOptions bulkOptions , IndexCoordinates index ) {
557
+ BulkRequest bulkRequest = requestFactory . bulkRequest ( queries , bulkOptions , index );
571
558
try {
572
559
checkForBulkUpdateFailure (client .bulk (bulkRequest , RequestOptions .DEFAULT ));
573
560
} catch (IOException e ) {
574
561
throw new ElasticsearchException ("Error while bulk for request: " + bulkRequest .toString (), e );
575
562
}
576
563
}
577
564
578
- private static void setBulkOptions (BulkRequest bulkRequest , BulkOptions bulkOptions ) {
579
-
580
- if (bulkOptions .getTimeout () != null ) {
581
- bulkRequest .timeout (bulkOptions .getTimeout ());
582
- }
583
-
584
- if (bulkOptions .getRefreshPolicy () != null ) {
585
- bulkRequest .setRefreshPolicy (bulkOptions .getRefreshPolicy ());
586
- }
587
-
588
- if (bulkOptions .getWaitForActiveShards () != null ) {
589
- bulkRequest .waitForActiveShards (bulkOptions .getWaitForActiveShards ());
590
- }
591
-
592
- if (bulkOptions .getPipeline () != null ) {
593
- bulkRequest .pipeline (bulkOptions .getPipeline ());
594
- }
595
-
596
- if (bulkOptions .getRoutingId () != null ) {
597
- bulkRequest .routing (bulkOptions .getRoutingId ());
598
- }
599
- }
600
565
601
566
private void checkForBulkUpdateFailure (BulkResponse bulkResponse ) {
602
567
if (bulkResponse .hasFailures ()) {
@@ -690,21 +655,10 @@ private SearchRequest prepareScroll(Query query, long scrollTimeInMillis,
690
655
request .indicesOptions (query .getIndicesOptions ());
691
656
}
692
657
693
- if (query instanceof NativeSearchQuery ) {
694
- NativeSearchQuery searchQuery = (NativeSearchQuery ) query ;
658
+ HighlightBuilder highlightBuilder = requestFactory .highlightBuilder (query );
695
659
696
- if (searchQuery .getHighlightFields () != null || searchQuery .getHighlightBuilder () != null ) {
697
- HighlightBuilder highlightBuilder = searchQuery .getHighlightBuilder ();
698
- if (highlightBuilder == null ) {
699
- highlightBuilder = new HighlightBuilder ();
700
- }
701
- if (searchQuery .getHighlightFields () != null ) {
702
- for (HighlightBuilder .Field highlightField : searchQuery .getHighlightFields ()) {
703
- highlightBuilder .field (highlightField );
704
- }
705
- }
706
- searchSourceBuilder .highlighter (highlightBuilder );
707
- }
660
+ if (highlightBuilder != null ) {
661
+ searchSourceBuilder .highlighter (highlightBuilder );
708
662
}
709
663
710
664
request .source (searchSourceBuilder );
0 commit comments