Adding GeoDistanceOrder's direction in request.

Original Pull Request #2602
Closes #2601
This commit is contained in:
seunghyun.cheong 2023-06-24 16:34:04 +09:00 committed by GitHub
parent a2cbca57f6
commit 8a164b1039
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 1 deletions

View File

@ -1497,8 +1497,9 @@ class RequestConverter {
return SortOptions.of(so -> so // return SortOptions.of(so -> so //
.geoDistance(gd -> gd // .geoDistance(gd -> gd //
.field(fieldName) // .field(fieldName) //
.location(loc -> loc.latlon(Queries.latLon(geoDistanceOrder.getGeoPoint())))// .location(loc -> loc.latlon(Queries.latLon(geoDistanceOrder.getGeoPoint()))) //
.distanceType(geoDistanceType(geoDistanceOrder.getDistanceType())).mode(sortMode(finalMode)) // .distanceType(geoDistanceType(geoDistanceOrder.getDistanceType())).mode(sortMode(finalMode)) //
.order(sortOrder(geoDistanceOrder.getDirection())) //
.unit(distanceUnit(geoDistanceOrder.getUnit())) // .unit(distanceUnit(geoDistanceOrder.getUnit())) //
.ignoreUnmapped(geoDistanceOrder.getIgnoreUnmapped()))); .ignoreUnmapped(geoDistanceOrder.getIgnoreUnmapped())));
} else { } else {

View File

@ -28,6 +28,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.core.RefreshPolicy; import org.springframework.data.elasticsearch.core.RefreshPolicy;
import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.document.Document;
import org.springframework.data.elasticsearch.core.query.*; import org.springframework.data.elasticsearch.core.query.*;
@ -165,6 +166,20 @@ final class TypeUtils {
} }
@Nullable
static SortOrder sortOrder(@Nullable Sort.Direction direction) {
if (direction == null) {
return null;
}
return switch (direction) {
case ASC -> SortOrder.Asc;
case DESC -> SortOrder.Desc;
};
}
@Nullable @Nullable
static HighlighterFragmenter highlighterFragmenter(@Nullable String value) { static HighlighterFragmenter highlighterFragmenter(@Nullable String value) {