File tree Expand file tree Collapse file tree 3 files changed +28
-10
lines changed
src/main/java/org/springframework/data/elasticsearch/core Expand file tree Collapse file tree 3 files changed +28
-10
lines changed Original file line number Diff line number Diff line change @@ -394,13 +394,17 @@ public UpdateResponse update(UpdateQuery query) {
394
394
Assert .notNull (indexName , "No index defined for Query" );
395
395
Assert .notNull (type , "No type define for Query" );
396
396
Assert .notNull (query .getId (), "No Id define for Query" );
397
- Assert .notNull (query .getIndexRequest (), "No IndexRequest define for Query" );
397
+ Assert .notNull (query .getUpdateRequest (), "No IndexRequest define for Query" );
398
398
UpdateRequestBuilder updateRequestBuilder = client .prepareUpdate (indexName , type , query .getId ());
399
399
if (query .DoUpsert ()) {
400
400
updateRequestBuilder .setDocAsUpsert (true )
401
- .setUpsert (query .getIndexRequest ()).setDoc (query .getIndexRequest ());
401
+ .setUpsert (query .getUpdateRequest ())
402
+ .setDoc (query .getUpdateRequest ().doc ())
403
+ .setScript (query .getUpdateRequest ().script ())
404
+ .setScriptParams (query .getUpdateRequest ().scriptParams ())
405
+ .setScriptLang (query .getUpdateRequest ().scriptLang ());
402
406
} else {
403
- updateRequestBuilder .setDoc (query .getIndexRequest ());
407
+ updateRequestBuilder .setDoc (query .getUpdateRequest (). doc ());
404
408
}
405
409
return updateRequestBuilder .execute ().actionGet ();
406
410
}
Original file line number Diff line number Diff line change 16
16
package org .springframework .data .elasticsearch .core .query ;
17
17
18
18
import org .elasticsearch .action .index .IndexRequest ;
19
+ import org .elasticsearch .action .update .UpdateRequest ;
19
20
20
21
/**
21
22
* @author Rizwan Idrees
24
25
public class UpdateQuery {
25
26
26
27
private String id ;
27
- private IndexRequest indexRequest ;
28
+ private UpdateRequest updateRequest ;
28
29
private String indexName ;
29
30
private String type ;
30
31
private Class clazz ;
@@ -38,14 +39,14 @@ public void setId(String id) {
38
39
this .id = id ;
39
40
}
40
41
41
- public IndexRequest getIndexRequest () {
42
- return indexRequest ;
42
+ public UpdateRequest getUpdateRequest () {
43
+ return updateRequest ;
43
44
}
44
45
45
- public void setIndexRequest ( IndexRequest indexRequest ) {
46
- this .indexRequest = indexRequest ;
46
+ public void setUpdateRequest ( UpdateRequest updateRequest ) {
47
+ this .updateRequest = updateRequest ;
47
48
}
48
-
49
+
49
50
public String getIndexName () {
50
51
return indexName ;
51
52
}
Original file line number Diff line number Diff line change 16
16
package org .springframework .data .elasticsearch .core .query ;
17
17
18
18
import org .elasticsearch .action .index .IndexRequest ;
19
+ import org .elasticsearch .action .update .UpdateRequest ;
19
20
20
21
/**
21
22
* @author Rizwan Idrees
24
25
public class UpdateQueryBuilder {
25
26
26
27
private String id ;
28
+ private UpdateRequest updateRequest ;
27
29
private IndexRequest indexRequest ;
28
30
private String indexName ;
29
31
private String type ;
@@ -35,6 +37,11 @@ public UpdateQueryBuilder withId(String id) {
35
37
return this ;
36
38
}
37
39
40
+ public UpdateQueryBuilder withUpdateRequest (UpdateRequest updateRequest ) {
41
+ this .updateRequest = updateRequest ;
42
+ return this ;
43
+ }
44
+
38
45
public UpdateQueryBuilder withIndexRequest (IndexRequest indexRequest ) {
39
46
this .indexRequest = indexRequest ;
40
47
return this ;
@@ -66,7 +73,13 @@ public UpdateQuery build() {
66
73
updateQuery .setIndexName (indexName );
67
74
updateQuery .setType (type );
68
75
updateQuery .setClazz (clazz );
69
- updateQuery .setIndexRequest (indexRequest );
76
+ if (this .indexRequest != null ) {
77
+ if (this .updateRequest == null ) {
78
+ updateRequest = new UpdateRequest ();
79
+ }
80
+ updateRequest .doc (indexRequest );
81
+ }
82
+ updateQuery .setUpdateRequest (updateRequest );
70
83
updateQuery .setDoUpsert (doUpsert );
71
84
return updateQuery ;
72
85
}
You can’t perform that action at this time.
0 commit comments