Skip to content

Commit dccf3fd

Browse files
committed
Set refresh on DeleteByQueryRequest by DeleteQuery
Signed-off-by: Han Seungwoo <[email protected]>
1 parent 6ad98bf commit dccf3fd

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/main/java/org/springframework/data/elasticsearch/client/elc/RequestConverter.java

+3
Original file line numberDiff line numberDiff line change
@@ -1048,6 +1048,9 @@ public DeleteByQueryRequest documentDeleteByQueryRequest(DeleteQuery query, @Nul
10481048
.collect(Collectors.toList()));
10491049
}
10501050
}
1051+
if (query.getRefresh() != null) {
1052+
dqb.refresh(query.getRefresh());
1053+
}
10511054
dqb.allowNoIndices(query.getAllowNoIndices())
10521055
.conflicts(conflicts(query.getConflicts()))
10531056
.ignoreUnavailable(query.getIgnoreUnavailable())

src/test/java/org/springframework/data/elasticsearch/client/elc/RequestConverterTest.java

+16
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter;
3131
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
3232
import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext;
33+
import org.springframework.data.elasticsearch.core.query.Criteria;
34+
import org.springframework.data.elasticsearch.core.query.CriteriaQuery;
35+
import org.springframework.data.elasticsearch.core.query.DeleteQuery;
3336
import org.springframework.data.elasticsearch.core.query.DocValueField;
3437
import org.springframework.data.elasticsearch.core.query.StringQuery;
3538
import org.springframework.lang.Nullable;
@@ -72,6 +75,19 @@ void shouldAddDocvalueFields() {
7275
assertThat(fieldAndFormats.get(1).format()).isEqualTo("format2");
7376
}
7477

78+
@Test // #2973
79+
@DisplayName("should set refresh based on deleteRequest")
80+
void refreshSetByDeleteRequest() {
81+
var query = new CriteriaQuery(new Criteria("text").contains("test"));
82+
var deleteQuery = DeleteQuery.builder(query).withRefresh(true).build();
83+
84+
var deleteByQueryRequest = requestConverter.documentDeleteByQueryRequest(deleteQuery, null, SampleEntity.class,
85+
IndexCoordinates.of("foo"),
86+
null);
87+
88+
assertThat(deleteByQueryRequest.refresh()).isTrue();
89+
}
90+
7591
@Document(indexName = "does-not-matter")
7692
static class SampleEntity {
7793
@Nullable

0 commit comments

Comments
 (0)