Skip to content

Commit 3a9a959

Browse files
tuguri8sothawo
authored andcommitted
Set refresh on DeleteByQueryRequest by DeleteQuery.
Original Pull Request #2976 Closes #2973 (cherry picked from commit b1b232d)
1 parent a179dd0 commit 3a9a959

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

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

+3
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,9 @@ public DeleteByQueryRequest documentDeleteByQueryRequest(DeleteQuery query, @Nul
10211021
.collect(Collectors.toList()));
10221022
}
10231023
}
1024+
if (query.getRefresh() != null) {
1025+
dqb.refresh(query.getRefresh());
1026+
}
10241027
dqb.allowNoIndices(query.getAllowNoIndices())
10251028
.conflicts(conflicts(query.getConflicts()))
10261029
.ignoreUnavailable(query.getIgnoreUnavailable())

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)