|
38 | 38 | import org.opensearch.index.query.functionscore.FunctionScoreQueryBuilder;
|
39 | 39 | import org.opensearch.index.query.functionscore.FunctionScoreQueryBuilder.FilterFunctionBuilder;
|
40 | 40 | import org.opensearch.index.query.functionscore.GaussDecayFunctionBuilder;
|
| 41 | +import org.opensearch.index.reindex.DeleteByQueryRequest; |
41 | 42 | import org.opensearch.search.fetch.subphase.FetchSourceContext;
|
42 | 43 | import org.springframework.core.convert.support.GenericConversionService;
|
43 | 44 | import org.springframework.data.annotation.Id;
|
|
46 | 47 | import org.springframework.data.domain.Sort;
|
47 | 48 | import org.springframework.data.elasticsearch.annotations.Document;
|
48 | 49 | import org.springframework.data.elasticsearch.annotations.Field;
|
| 50 | +import org.springframework.data.elasticsearch.core.RefreshPolicy; |
49 | 51 | import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter;
|
50 | 52 | import org.springframework.data.elasticsearch.core.geo.GeoPoint;
|
51 | 53 | import org.springframework.data.elasticsearch.core.index.AliasAction;
|
@@ -1065,6 +1067,45 @@ void shouldUseIndexNameFromMethodIfNoneIsSetInQueryInBulkUpdate() {
|
1065 | 1067 | assertThat(updateRequest.index()).isEqualTo(methodIndexName);
|
1066 | 1068 | }
|
1067 | 1069 |
|
| 1070 | + @Test |
| 1071 | + void shouldSetRefreshTrueIfRefreshPolicyIsImmediateInDeleteByQuery() { |
| 1072 | + String methodIndexName = "method-index-name"; |
| 1073 | + Query searchQuery = new NativeSearchQueryBuilder() |
| 1074 | + .withQuery(matchAllQuery()) |
| 1075 | + .build(); |
| 1076 | + |
| 1077 | + DeleteByQueryRequest deleteByQueryRequest = requestFactory.deleteByQueryRequest(searchQuery, null, Person.class, |
| 1078 | + IndexCoordinates.of(methodIndexName), RefreshPolicy.IMMEDIATE); |
| 1079 | + |
| 1080 | + assertThat(deleteByQueryRequest.isRefresh()).isTrue(); |
| 1081 | + } |
| 1082 | + |
| 1083 | + @Test |
| 1084 | + void shouldSetRefreshFalseIfRefreshPolicyIsNoneInDeleteByQuery() { |
| 1085 | + String methodIndexName = "method-index-name"; |
| 1086 | + Query searchQuery = new NativeSearchQueryBuilder() |
| 1087 | + .withQuery(matchAllQuery()) |
| 1088 | + .build(); |
| 1089 | + |
| 1090 | + DeleteByQueryRequest deleteByQueryRequest = requestFactory.deleteByQueryRequest(searchQuery, null, Person.class, |
| 1091 | + IndexCoordinates.of(methodIndexName), RefreshPolicy.NONE); |
| 1092 | + |
| 1093 | + assertThat(deleteByQueryRequest.isRefresh()).isFalse(); |
| 1094 | + } |
| 1095 | + |
| 1096 | + @Test |
| 1097 | + void shouldSetRefreshFalseIfRefreshPolicyIsWaitUntilInDeleteByQuery() { |
| 1098 | + String methodIndexName = "method-index-name"; |
| 1099 | + Query searchQuery = new NativeSearchQueryBuilder() |
| 1100 | + .withQuery(matchAllQuery()) |
| 1101 | + .build(); |
| 1102 | + |
| 1103 | + DeleteByQueryRequest deleteByQueryRequest = requestFactory.deleteByQueryRequest(searchQuery, null, Person.class, |
| 1104 | + IndexCoordinates.of(methodIndexName), RefreshPolicy.WAIT_UNTIL); |
| 1105 | + |
| 1106 | + assertThat(deleteByQueryRequest.isRefresh()).isFalse(); |
| 1107 | + } |
| 1108 | + |
1068 | 1109 | // region entities
|
1069 | 1110 | static class Person {
|
1070 | 1111 | @Nullable
|
|
0 commit comments