mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-12 07:02:10 +00:00
DATAES-671 - Missing indicesOptions support for scrolling queries.
Original PR: #332
This commit is contained in:
parent
ba76986172
commit
4682636333
@ -977,6 +977,10 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate
|
||||
prepareSort(query, searchSourceBuilder, entity);
|
||||
}
|
||||
|
||||
if (query.getIndicesOptions() != null) {
|
||||
request.indicesOptions(query.getIndicesOptions());
|
||||
}
|
||||
|
||||
if (query instanceof SearchQuery) {
|
||||
SearchQuery searchQuery = (SearchQuery) query;
|
||||
|
||||
|
@ -826,6 +826,10 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate
|
||||
prepareSort(query, requestBuilder, entity);
|
||||
}
|
||||
|
||||
if (query.getIndicesOptions() != null) {
|
||||
requestBuilder.setIndicesOptions(query.getIndicesOptions());
|
||||
}
|
||||
|
||||
if (query instanceof SearchQuery) {
|
||||
SearchQuery searchQuery = (SearchQuery) query;
|
||||
|
||||
|
@ -1716,6 +1716,44 @@ public class ElasticsearchTemplateTests {
|
||||
elasticsearchTemplate.clearScroll(scroll.getScrollId());
|
||||
}
|
||||
|
||||
@Test // DATAES-671
|
||||
public void shouldPassIndicesOptionsForGivenSearchScrollQuery() {
|
||||
|
||||
// given
|
||||
long scrollTimeInMillis = 3000;
|
||||
String documentId = randomNumeric(5);
|
||||
SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("some message")
|
||||
.version(System.currentTimeMillis()).build();
|
||||
|
||||
IndexQuery idxQuery = new IndexQueryBuilder().withIndexName(INDEX_1_NAME).withId(sampleEntity.getId())
|
||||
.withObject(sampleEntity).build();
|
||||
|
||||
elasticsearchTemplate.index(idxQuery);
|
||||
elasticsearchTemplate.refresh(INDEX_1_NAME);
|
||||
|
||||
// when
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withIndices(INDEX_1_NAME, INDEX_2_NAME).withIndicesOptions(IndicesOptions.lenientExpandOpen()).build();
|
||||
|
||||
List<SampleEntity> entities = new ArrayList<>();
|
||||
|
||||
ScrolledPage<SampleEntity> scroll = elasticsearchTemplate.startScroll(scrollTimeInMillis, searchQuery,
|
||||
SampleEntity.class, searchResultMapper);
|
||||
|
||||
entities.addAll(scroll.getContent());
|
||||
|
||||
while (scroll.hasContent()) {
|
||||
scroll = elasticsearchTemplate.continueScroll(scroll.getScrollId(), scrollTimeInMillis, SampleEntity.class,
|
||||
searchResultMapper);
|
||||
|
||||
entities.addAll(scroll.getContent());
|
||||
}
|
||||
|
||||
// then
|
||||
assertThat(entities).isNotNull();
|
||||
assertThat(entities.size()).isGreaterThanOrEqualTo(1);
|
||||
}
|
||||
|
||||
@Test // DATAES-479
|
||||
public void shouldHonorTheHighlightBuilderOptions() {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user