diff --git a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationUtilsService.java b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationUtilsService.java index d4b00d58b643..c5ee5c7327ee 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationUtilsService.java +++ b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationUtilsService.java @@ -20,6 +20,7 @@ import org.dspace.core.Context; import org.dspace.discovery.DiscoverQuery; import org.dspace.discovery.DiscoverResultIterator; +import org.dspace.discovery.SearchService; import org.dspace.discovery.indexobject.IndexableItem; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +35,8 @@ public class DiscoveryConfigurationUtilsService { private ItemService itemService; @Autowired private DiscoveryConfigurationService searchConfigurationService; + @Autowired + private SearchService solrService; public Iterator findByRelation(Context context, Item item, String relationName) { String entityType = itemService.getMetadataFirstValue(item, "dspace", "entity", "type", Item.ANY); @@ -61,7 +64,7 @@ public Iterator findByRelation(Context context, Item item, String relation } else { DiscoverySortFieldConfiguration sortField = discoveryConfiguration.getSearchSortConfiguration().getDefaultSortField(); - discoverQuery.setSortField(sortField.getMetadataField(), + discoverQuery.setSortField(solrService.toSortFieldIndex(sortField.getMetadataField(), sortField.getType()), DiscoverQuery.SORT_ORDER.valueOf(sortField.getDefaultSortOrder().name())); } @@ -78,4 +81,4 @@ private DiscoveryConfiguration findDiscoveryConfiguration(String entityType, Str return searchConfigurationService.getDiscoveryConfigurationByName(configurationName); } -} \ No newline at end of file +}