Я хочу найти ТОЧНУЮ область работы в строке ниже, сейчас она возвращает все записи, соответствующие области работы, а также любые другие, содержащие это слово.
Например, если я ищу для Финансы , он также возвращает мне Корпоративные финансы . Кто-нибудь может подсказать, как заставить эту строку возвращать только точные совпадения?
boolQuery.should(QueryBuilders.matchPhraseQuery("audiences.areasOfWork", areaOfWork));
boolQuery.should(QueryBuilders.matchPhraseQuery("audiences.interests", interest));
BoolQueryBuilder filterQuery = boolQuery();
filterQuery.must(QueryBuilders.matchQuery("audiences.grades", grade));
filterQuery.must(QueryBuilders.matchQuery("status", status));
filterQuery.mustNot(QueryBuilders.matchQuery("audiences.type", "Valid"));
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(boolQuery)
.withFilter(filterQuery)
.withSort(SortBuilders.scoreSort().order(SortOrder.DESC))
.withPageable(pageable)
.build();
return operations.queryForPage(searchQuery, Course.class);