RED-2175, RED-2472: Backported search fixes
This commit is contained in:
parent
c503d1bb93
commit
94e4d1e630
@ -92,9 +92,9 @@ public class SearchService {
|
||||
sectionsQueries.should(textPhraseQuery);
|
||||
}
|
||||
for (String should : query.getShoulds()) {
|
||||
QueryBuilder textTermQuery = QueryBuilders.termQuery("sections.text", should.toLowerCase(Locale.ROOT))
|
||||
QueryBuilder textTermQuery = QueryBuilders.matchPhraseQuery("sections.text", should.toLowerCase(Locale.ROOT))
|
||||
.queryName(should);
|
||||
QueryBuilder filenameTermQuery = QueryBuilders.termQuery("filename", should.toLowerCase(Locale.ROOT))
|
||||
QueryBuilder filenameTermQuery = QueryBuilders.matchPhraseQuery("filename", should.toLowerCase(Locale.ROOT))
|
||||
.queryName("filename." + should);
|
||||
entireQuery.should(textTermQuery);
|
||||
entireQuery.should(filenameTermQuery);
|
||||
@ -109,6 +109,9 @@ public class SearchService {
|
||||
entireQuery.should(nestedQuery);
|
||||
}
|
||||
|
||||
|
||||
BoolQueryBuilder filterQuery = QueryBuilders.boolQuery();
|
||||
|
||||
if (dossierTemplateIds != null && !dossierTemplateIds.isEmpty()) {
|
||||
|
||||
var dossierTemplateIdQueryBuilder = QueryBuilders.boolQuery();
|
||||
@ -117,7 +120,7 @@ public class SearchService {
|
||||
dossierTemplateIdQueryBuilder = dossierTemplateIdQueryBuilder.should(QueryBuilders.matchQuery("dossierTemplateId", dossierTemplateId));
|
||||
}
|
||||
|
||||
entireQuery.filter(dossierTemplateIdQueryBuilder);
|
||||
filterQuery.must(dossierTemplateIdQueryBuilder);
|
||||
}
|
||||
|
||||
if (dossierIds != null && !dossierIds.isEmpty()) {
|
||||
@ -128,15 +131,15 @@ public class SearchService {
|
||||
dossierIdQueryBuilder = dossierIdQueryBuilder.should(QueryBuilders.matchQuery("dossierId", dossierId));
|
||||
}
|
||||
|
||||
entireQuery.filter(dossierIdQueryBuilder);
|
||||
filterQuery.must(dossierIdQueryBuilder);
|
||||
}
|
||||
|
||||
|
||||
if (fileId != null) {
|
||||
entireQuery.filter(QueryBuilders.matchQuery("fileId", fileId));
|
||||
filterQuery.must(QueryBuilders.matchQuery("fileId", fileId));
|
||||
}
|
||||
|
||||
return entireQuery;
|
||||
return QueryBuilders.boolQuery().filter(filterQuery).must(entireQuery);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user