diff --git a/src/main/kotlin/no/fdk/concept_catalog/service/ConceptSearchService.kt b/src/main/kotlin/no/fdk/concept_catalog/service/ConceptSearchService.kt index 33e6ed26..62fd635c 100644 --- a/src/main/kotlin/no/fdk/concept_catalog/service/ConceptSearchService.kt +++ b/src/main/kotlin/no/fdk/concept_catalog/service/ConceptSearchService.kt @@ -34,6 +34,7 @@ class ConceptSearchService( private fun SearchOperation.toElasticQuery(orgNumber: String): Query { val qb = NativeQuery.builder() qb.withFilter { q -> q.match { m -> m.field("ansvarligVirksomhet.id").query(orgNumber) } } + qb.withSort { s -> s.field{ f -> f.field( sort.sortField()).order(sort.sortDirection()) }} if (!query.isNullOrBlank()) qb.addFieldsQuery(fields, query) qb.withPageable(Pageable.ofSize(pagination.getSize()).withPage(pagination.getPage())) return qb.build() @@ -49,6 +50,17 @@ class ConceptSearchService( } } + private fun SortField.sortDirection(): SortOrder = + when (direction) { + SortDirection.ASC -> SortOrder.Asc + else -> SortOrder.Desc + } + private fun SortField.sortField(): String = + when (field) { + SortFieldEnum.ANBEFALT_TERM_NB -> "anbefaltTerm.navn.nb.keyword" + else -> "endringslogelement.endringstidspunkt" + } + private fun QueryFields.paths(): List = listOf( // Boosting hits in anbefaltTerm diff --git a/src/test/kotlin/no/fdk/concept_catalog/contract/SearchConcepts.kt b/src/test/kotlin/no/fdk/concept_catalog/contract/SearchConcepts.kt index 928750c6..a6b57c30 100644 --- a/src/test/kotlin/no/fdk/concept_catalog/contract/SearchConcepts.kt +++ b/src/test/kotlin/no/fdk/concept_catalog/contract/SearchConcepts.kt @@ -587,7 +587,6 @@ class SearchConcepts : ApiTestContext() { } @Test - @Ignore fun `Query returns sorted results ordered by sistEndret ascending`() { val searchOp = SearchOperation( query = "", @@ -607,7 +606,6 @@ class SearchConcepts : ApiTestContext() { } @Test - @Ignore fun `Query returns sorted results ordered by anbefaltTerm descending`() { val searchOp = SearchOperation( query = "",