mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-25 05:22:10 +00:00
Fix update call in reactive client (Elasticsearch 7 client)
Original Pull Request #2281 Closes #2276 (cherry picked from commit 8377f64a8a919b31c37f337fc92c3ea8ee9154d8)
This commit is contained in:
parent
3c6d96e49f
commit
a3ebd8be78
@ -336,8 +336,13 @@ public class RequestConverters {
|
|||||||
public static Request index(IndexRequest indexRequest) {
|
public static Request index(IndexRequest indexRequest) {
|
||||||
String method = Strings.hasLength(indexRequest.id()) ? HttpMethod.PUT.name() : HttpMethod.POST.name();
|
String method = Strings.hasLength(indexRequest.id()) ? HttpMethod.PUT.name() : HttpMethod.POST.name();
|
||||||
boolean isCreate = (indexRequest.opType() == DocWriteRequest.OpType.CREATE);
|
boolean isCreate = (indexRequest.opType() == DocWriteRequest.OpType.CREATE);
|
||||||
String endpoint = endpoint(indexRequest.index(), indexRequest.type(), indexRequest.id(),
|
String endpoint;
|
||||||
isCreate ? "_create" : null);
|
if (indexRequest.opType() == DocWriteRequest.OpType.CREATE) {
|
||||||
|
endpoint = indexRequest.type().equals("_doc") ? endpoint(indexRequest.index(), "_create", indexRequest.id())
|
||||||
|
: endpoint(indexRequest.index(), indexRequest.type(), indexRequest.id(), "_create");
|
||||||
|
} else {
|
||||||
|
endpoint = endpoint(indexRequest.index(), indexRequest.type(), indexRequest.id());
|
||||||
|
}
|
||||||
Request request = new Request(method, endpoint);
|
Request request = new Request(method, endpoint);
|
||||||
|
|
||||||
Params parameters = new Params(request);
|
Params parameters = new Params(request);
|
||||||
@ -362,7 +367,9 @@ public class RequestConverters {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Request update(UpdateRequest updateRequest) {
|
public static Request update(UpdateRequest updateRequest) {
|
||||||
String endpoint = endpoint(updateRequest.index(), updateRequest.type(), updateRequest.id(), "_update");
|
String endpoint = updateRequest.type().equals("_doc")
|
||||||
|
? endpoint(updateRequest.index(), "_update", updateRequest.id())
|
||||||
|
: endpoint(updateRequest.index(), updateRequest.type(), updateRequest.id(), "_update");
|
||||||
Request request = new Request(HttpMethod.POST.name(), endpoint);
|
Request request = new Request(HttpMethod.POST.name(), endpoint);
|
||||||
|
|
||||||
Params parameters = new Params(request);
|
Params parameters = new Params(request);
|
||||||
@ -500,8 +507,11 @@ public class RequestConverters {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Request explain(ExplainRequest explainRequest) {
|
public static Request explain(ExplainRequest explainRequest) {
|
||||||
|
String endpoint = explainRequest.type().equals("_doc")
|
||||||
|
? endpoint(explainRequest.index(), "_explain", explainRequest.id())
|
||||||
|
: endpoint(explainRequest.index(), explainRequest.type(), explainRequest.id(), "_explain");
|
||||||
Request request = new Request(HttpMethod.GET.name(),
|
Request request = new Request(HttpMethod.GET.name(),
|
||||||
endpoint(explainRequest.index(), explainRequest.type(), explainRequest.id(), "_explain"));
|
endpoint(explainRequest.index(), explainRequest.type(), explainRequest.id(), endpoint));
|
||||||
|
|
||||||
Params params = new Params(request);
|
Params params = new Params(request);
|
||||||
params.withStoredFields(explainRequest.storedFields());
|
params.withStoredFields(explainRequest.storedFields());
|
||||||
|
@ -375,7 +375,7 @@ public class ReactiveElasticsearchClientUnitTests {
|
|||||||
});
|
});
|
||||||
|
|
||||||
URI uri = hostProvider.when(HOST).captureUri();
|
URI uri = hostProvider.when(HOST).captureUri();
|
||||||
assertThat(uri.getRawPath()).isEqualTo("/twitter/_doc/10/_create");
|
assertThat(uri.getRawPath()).isEqualTo("/twitter/_create/10");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test // DATAES-488
|
@Test // DATAES-488
|
||||||
@ -439,7 +439,7 @@ public class ReactiveElasticsearchClientUnitTests {
|
|||||||
hostProvider.when(HOST) //
|
hostProvider.when(HOST) //
|
||||||
.receiveUpdateOk();
|
.receiveUpdateOk();
|
||||||
|
|
||||||
client.update(new UpdateRequest("twitter", "doc", "1").doc(Collections.singletonMap("user", "cstrobl"))).then() //
|
client.update(new UpdateRequest("twitter", "1").doc(Collections.singletonMap("user", "cstrobl"))).then() //
|
||||||
.as(StepVerifier::create) //
|
.as(StepVerifier::create) //
|
||||||
.verifyComplete();
|
.verifyComplete();
|
||||||
|
|
||||||
@ -449,7 +449,7 @@ public class ReactiveElasticsearchClientUnitTests {
|
|||||||
});
|
});
|
||||||
|
|
||||||
URI uri = hostProvider.when(HOST).captureUri();
|
URI uri = hostProvider.when(HOST).captureUri();
|
||||||
assertThat(uri.getRawPath()).isEqualTo("/twitter/doc/1/_update");
|
assertThat(uri.getRawPath()).isEqualTo("/twitter/_update/1");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test // DATAES-488
|
@Test // DATAES-488
|
||||||
|
Loading…
x
Reference in New Issue
Block a user