mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-08 21:22:12 +00:00
DATAES-97 - Use UpdateRequest instead of IndexRequest
This commit is contained in:
parent
cf54ba4e8f
commit
0317dcb275
@ -394,13 +394,17 @@ public class ElasticsearchTemplate implements ElasticsearchOperations, Applicati
|
||||
Assert.notNull(indexName, "No index defined for Query");
|
||||
Assert.notNull(type, "No type define for Query");
|
||||
Assert.notNull(query.getId(), "No Id define for Query");
|
||||
Assert.notNull(query.getIndexRequest(), "No IndexRequest define for Query");
|
||||
Assert.notNull(query.getUpdateRequest(), "No IndexRequest define for Query");
|
||||
UpdateRequestBuilder updateRequestBuilder = client.prepareUpdate(indexName, type, query.getId());
|
||||
if (query.DoUpsert()) {
|
||||
updateRequestBuilder.setDocAsUpsert(true)
|
||||
.setUpsert(query.getIndexRequest()).setDoc(query.getIndexRequest());
|
||||
.setUpsert(query.getUpdateRequest())
|
||||
.setDoc(query.getUpdateRequest().doc())
|
||||
.setScript(query.getUpdateRequest().script())
|
||||
.setScriptParams(query.getUpdateRequest().scriptParams())
|
||||
.setScriptLang(query.getUpdateRequest().scriptLang());
|
||||
} else {
|
||||
updateRequestBuilder.setDoc(query.getIndexRequest());
|
||||
updateRequestBuilder.setDoc(query.getUpdateRequest().doc());
|
||||
}
|
||||
return updateRequestBuilder.execute().actionGet();
|
||||
}
|
||||
|
@ -16,6 +16,7 @@
|
||||
package org.springframework.data.elasticsearch.core.query;
|
||||
|
||||
import org.elasticsearch.action.index.IndexRequest;
|
||||
import org.elasticsearch.action.update.UpdateRequest;
|
||||
|
||||
/**
|
||||
* @author Rizwan Idrees
|
||||
@ -24,7 +25,7 @@ import org.elasticsearch.action.index.IndexRequest;
|
||||
public class UpdateQuery {
|
||||
|
||||
private String id;
|
||||
private IndexRequest indexRequest;
|
||||
private UpdateRequest updateRequest;
|
||||
private String indexName;
|
||||
private String type;
|
||||
private Class clazz;
|
||||
@ -38,14 +39,14 @@ public class UpdateQuery {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public IndexRequest getIndexRequest() {
|
||||
return indexRequest;
|
||||
public UpdateRequest getUpdateRequest() {
|
||||
return updateRequest;
|
||||
}
|
||||
|
||||
public void setIndexRequest(IndexRequest indexRequest) {
|
||||
this.indexRequest = indexRequest;
|
||||
public void setUpdateRequest(UpdateRequest updateRequest) {
|
||||
this.updateRequest = updateRequest;
|
||||
}
|
||||
|
||||
|
||||
public String getIndexName() {
|
||||
return indexName;
|
||||
}
|
||||
|
@ -16,6 +16,7 @@
|
||||
package org.springframework.data.elasticsearch.core.query;
|
||||
|
||||
import org.elasticsearch.action.index.IndexRequest;
|
||||
import org.elasticsearch.action.update.UpdateRequest;
|
||||
|
||||
/**
|
||||
* @author Rizwan Idrees
|
||||
@ -24,6 +25,7 @@ import org.elasticsearch.action.index.IndexRequest;
|
||||
public class UpdateQueryBuilder {
|
||||
|
||||
private String id;
|
||||
private UpdateRequest updateRequest;
|
||||
private IndexRequest indexRequest;
|
||||
private String indexName;
|
||||
private String type;
|
||||
@ -35,6 +37,11 @@ public class UpdateQueryBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public UpdateQueryBuilder withUpdateRequest(UpdateRequest updateRequest) {
|
||||
this.updateRequest = updateRequest;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UpdateQueryBuilder withIndexRequest(IndexRequest indexRequest) {
|
||||
this.indexRequest = indexRequest;
|
||||
return this;
|
||||
@ -66,7 +73,13 @@ public class UpdateQueryBuilder {
|
||||
updateQuery.setIndexName(indexName);
|
||||
updateQuery.setType(type);
|
||||
updateQuery.setClazz(clazz);
|
||||
updateQuery.setIndexRequest(indexRequest);
|
||||
if (this.indexRequest != null) {
|
||||
if (this.updateRequest == null) {
|
||||
updateRequest = new UpdateRequest();
|
||||
}
|
||||
updateRequest.doc(indexRequest);
|
||||
}
|
||||
updateQuery.setUpdateRequest(updateRequest);
|
||||
updateQuery.setDoUpsert(doUpsert);
|
||||
return updateQuery;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user