Skip to content

Commit

Permalink
Feature/refactor name query to use utility method for regex #deploy-d…
Browse files Browse the repository at this point in the history
…olly-search-service #deploy-test-dolly-search-service
  • Loading branch information
krharum committed Mar 4, 2025
1 parent aaabe89 commit baa084a
Showing 1 changed file with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import static no.nav.testnav.dollysearchservice.utils.OpenSearchQueryUtils.nestedMatchQuery;
import static no.nav.testnav.dollysearchservice.utils.OpenSearchQueryUtils.nestedRegexpQuery;
import static no.nav.testnav.dollysearchservice.utils.OpenSearchQueryUtils.nestedTermsQuery;
import static no.nav.testnav.dollysearchservice.utils.OpenSearchQueryUtils.regexpQuery;

@Slf4j
@UtilityClass
Expand Down Expand Up @@ -86,14 +87,15 @@ private static void addDollyIdentifier(BoolQueryBuilder queryBuilder) {
}

private static void addNameQuery(BoolQueryBuilder queryBuilder, IdentSearch search) {

Optional.ofNullable(search.getNavn())
.ifPresent(values -> {
if (values.size() == 1) {
queryBuilder.must(QueryBuilders.nestedQuery(
"hentPerson.navn",
QueryBuilders.boolQuery()
.should(QueryBuilders.regexpQuery(PERSON_FORNAVN, ".*" + values.get(0) + ".*"))
.should(QueryBuilders.regexpQuery(PERSON_ETTERNAVN, ".*" + values.get(0) + ".*"))
.should(regexpQuery(PERSON_FORNAVN, ".*" + values.get(0) + ".*"))
.should(regexpQuery(PERSON_ETTERNAVN, ".*" + values.get(0) + ".*"))
.minimumShouldMatch(1),
ScoreMode.Avg));

Expand All @@ -102,11 +104,11 @@ private static void addNameQuery(BoolQueryBuilder queryBuilder, IdentSearch sear
"hentPerson.navn",
QueryBuilders.boolQuery()
.should(QueryBuilders.boolQuery()
.must(QueryBuilders.regexpQuery(PERSON_FORNAVN, ".*" + values.get(0) + ".*"))
.must(QueryBuilders.regexpQuery(PERSON_ETTERNAVN, ".*" + values.get(1) + ".*")))
.must(regexpQuery(PERSON_FORNAVN, ".*" + values.get(0) + ".*"))
.must(regexpQuery(PERSON_ETTERNAVN, ".*" + values.get(1) + ".*")))
.should(QueryBuilders.boolQuery()
.must(QueryBuilders.regexpQuery(PERSON_FORNAVN, ".*" + values.get(1) + ".*"))
.must(QueryBuilders.regexpQuery(PERSON_ETTERNAVN, ".*" + values.get(0) + ".*")))
.must(regexpQuery(PERSON_FORNAVN, ".*" + values.get(1) + ".*"))
.must(regexpQuery(PERSON_ETTERNAVN, ".*" + values.get(0) + ".*")))
.minimumShouldMatch(1),
ScoreMode.Avg));
}
Expand Down

0 comments on commit baa084a

Please sign in to comment.