mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-08 13:12:10 +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(indexName, "No index defined for Query");
|
||||||
Assert.notNull(type, "No type define for Query");
|
Assert.notNull(type, "No type define for Query");
|
||||||
Assert.notNull(query.getId(), "No Id 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());
|
UpdateRequestBuilder updateRequestBuilder = client.prepareUpdate(indexName, type, query.getId());
|
||||||
if (query.DoUpsert()) {
|
if (query.DoUpsert()) {
|
||||||
updateRequestBuilder.setDocAsUpsert(true)
|
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 {
|
} else {
|
||||||
updateRequestBuilder.setDoc(query.getIndexRequest());
|
updateRequestBuilder.setDoc(query.getUpdateRequest().doc());
|
||||||
}
|
}
|
||||||
return updateRequestBuilder.execute().actionGet();
|
return updateRequestBuilder.execute().actionGet();
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
package org.springframework.data.elasticsearch.core.query;
|
package org.springframework.data.elasticsearch.core.query;
|
||||||
|
|
||||||
import org.elasticsearch.action.index.IndexRequest;
|
import org.elasticsearch.action.index.IndexRequest;
|
||||||
|
import org.elasticsearch.action.update.UpdateRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rizwan Idrees
|
* @author Rizwan Idrees
|
||||||
@ -24,7 +25,7 @@ import org.elasticsearch.action.index.IndexRequest;
|
|||||||
public class UpdateQuery {
|
public class UpdateQuery {
|
||||||
|
|
||||||
private String id;
|
private String id;
|
||||||
private IndexRequest indexRequest;
|
private UpdateRequest updateRequest;
|
||||||
private String indexName;
|
private String indexName;
|
||||||
private String type;
|
private String type;
|
||||||
private Class clazz;
|
private Class clazz;
|
||||||
@ -38,12 +39,12 @@ public class UpdateQuery {
|
|||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IndexRequest getIndexRequest() {
|
public UpdateRequest getUpdateRequest() {
|
||||||
return indexRequest;
|
return updateRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIndexRequest(IndexRequest indexRequest) {
|
public void setUpdateRequest(UpdateRequest updateRequest) {
|
||||||
this.indexRequest = indexRequest;
|
this.updateRequest = updateRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getIndexName() {
|
public String getIndexName() {
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
package org.springframework.data.elasticsearch.core.query;
|
package org.springframework.data.elasticsearch.core.query;
|
||||||
|
|
||||||
import org.elasticsearch.action.index.IndexRequest;
|
import org.elasticsearch.action.index.IndexRequest;
|
||||||
|
import org.elasticsearch.action.update.UpdateRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rizwan Idrees
|
* @author Rizwan Idrees
|
||||||
@ -24,6 +25,7 @@ import org.elasticsearch.action.index.IndexRequest;
|
|||||||
public class UpdateQueryBuilder {
|
public class UpdateQueryBuilder {
|
||||||
|
|
||||||
private String id;
|
private String id;
|
||||||
|
private UpdateRequest updateRequest;
|
||||||
private IndexRequest indexRequest;
|
private IndexRequest indexRequest;
|
||||||
private String indexName;
|
private String indexName;
|
||||||
private String type;
|
private String type;
|
||||||
@ -35,6 +37,11 @@ public class UpdateQueryBuilder {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UpdateQueryBuilder withUpdateRequest(UpdateRequest updateRequest) {
|
||||||
|
this.updateRequest = updateRequest;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public UpdateQueryBuilder withIndexRequest(IndexRequest indexRequest) {
|
public UpdateQueryBuilder withIndexRequest(IndexRequest indexRequest) {
|
||||||
this.indexRequest = indexRequest;
|
this.indexRequest = indexRequest;
|
||||||
return this;
|
return this;
|
||||||
@ -66,7 +73,13 @@ public class UpdateQueryBuilder {
|
|||||||
updateQuery.setIndexName(indexName);
|
updateQuery.setIndexName(indexName);
|
||||||
updateQuery.setType(type);
|
updateQuery.setType(type);
|
||||||
updateQuery.setClazz(clazz);
|
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);
|
updateQuery.setDoUpsert(doUpsert);
|
||||||
return updateQuery;
|
return updateQuery;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user