DATAES-467 - Fix sorting by _score if Spring Data sort is used.

Original pull request: #209.
This commit is contained in:
xhaggi
2018-06-14 16:27:17 +02:00
committed by Oliver Gierke
parent 4a26af38c3
commit ba3eba5734
2 changed files with 74 additions and 18 deletions

View File

@@ -595,6 +595,29 @@ public class ElasticsearchTemplateTests {
assertThat(sampleEntities.getContent().get(1).getMessage(), is(sampleEntity2.getMessage()));
}
@Test // DATAES-467
public void shouldSortResultsByScore() {
// given
List<SampleEntity> entities = Arrays.asList( //
SampleEntity.builder().id("1").message("abc").build(), //
SampleEntity.builder().id("2").message("def").build(), //
SampleEntity.builder().id("3").message("ghi").build());
elasticsearchTemplate.bulkIndex(getIndexQueries(entities));
elasticsearchTemplate.refresh(SampleEntity.class);
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(matchAllQuery())
.withPageable(PageRequest.of(0, 10, Sort.by(Sort.Order.asc("_score"))))
.build();
// when
Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class);
// then
assertThat(sampleEntities.getTotalElements(), equalTo(3L));
}
@Test
public void shouldExecuteStringQuery() {
// given