Skip to content

Commit b1b232d

Browse files
authored
Set refresh on DeleteByQueryRequest by DeleteQuery.
Original Pull Request #2976 Closes #2973
1 parent 555b570 commit b1b232d

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

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

+3
Original file line numberDiff line numberDiff line change
@@ -1045,6 +1045,9 @@ public DeleteByQueryRequest documentDeleteByQueryRequest(DeleteQuery query, @Nul
10451045
.collect(Collectors.toList()));
10461046
}
10471047
}
1048+
if (query.getRefresh() != null) {
1049+
dqb.refresh(query.getRefresh());
1050+
}
10481051
dqb.allowNoIndices(query.getAllowNoIndices())
10491052
.conflicts(conflicts(query.getConflicts()))
10501053
.ignoreUnavailable(query.getIgnoreUnavailable())

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

+17
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,16 @@
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;
3639

3740
/**
3841
* @author Peter-Josef Meisch
42+
* @author Han Seungwoo
3943
*/
4044
class RequestConverterTest {
4145

@@ -72,6 +76,19 @@ void shouldAddDocvalueFields() {
7276
assertThat(fieldAndFormats.get(1).format()).isEqualTo("format2");
7377
}
7478

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

0 commit comments

Comments
 (0)