diff --git a/agr_api/src/main/java/org/alliancegenome/api/service/SearchService.java b/agr_api/src/main/java/org/alliancegenome/api/service/SearchService.java index 8e8f26602..8a97a4f4f 100644 --- a/agr_api/src/main/java/org/alliancegenome/api/service/SearchService.java +++ b/agr_api/src/main/java/org/alliancegenome/api/service/SearchService.java @@ -7,7 +7,6 @@ import static org.elasticsearch.index.query.QueryBuilders.multiMatchQuery; import static org.elasticsearch.index.query.QueryBuilders.queryStringQuery; import static org.elasticsearch.index.query.QueryBuilders.termQuery; -import static org.elasticsearch.index.query.QueryBuilders.termsQuery; import java.util.ArrayList; import java.util.Arrays; @@ -242,12 +241,7 @@ public BoolQueryBuilder buildQuery(String queryTerm, String category, Multivalue // apply filters if a category has been set if (StringUtils.isNotEmpty(category)) { - if (Category.ALLELE.getName().equals(category)) { - bool.filter(termsQuery("category", Category.ALLELE.getName(), Category.VARIANT.getName())); - } else { - bool.filter(new TermQueryBuilder("category", category)); - } - + bool.filter(new TermQueryBuilder("category", category)); // expand the map of lists and add each key,value pair as filters filters.entrySet().stream().forEach(entry -> entry.getValue().stream().forEach(value -> { if (value.charAt(0) == '-') { @@ -338,7 +332,7 @@ public void addRelatedDataLinks(Map result) { links.add(getRelatedDataLink(Category.GENE.getName(), "diseasesWithParents", nameKey)); links.add(getRelatedDataLink(Category.ALLELE.getName(), "diseasesWithParents", nameKey)); links.add(getRelatedDataLink(Category.MODEL.getName(), "diseasesWithParents", nameKey)); - } else if (StringUtils.equals(category, Category.ALLELE.getName()) && StringUtils.equals((String) result.get("alterationType"), "allele")) { + } else if (StringUtils.equals(category, Category.ALLELE.getName())) { links.add(getRelatedDataLink(Category.DISEASE.getName(), "alleles", nameKey)); links.add(getRelatedDataLink(Category.GENE.getName(), "alleles", nameKey)); links.add(getRelatedDataLink(Category.MODEL.getName(), "alleles", nameKey)); diff --git a/agr_api/src/main/java/org/alliancegenome/api/service/helper/SearchHelper.java b/agr_api/src/main/java/org/alliancegenome/api/service/helper/SearchHelper.java index fa0f7dbdc..0356cb5d3 100644 --- a/agr_api/src/main/java/org/alliancegenome/api/service/helper/SearchHelper.java +++ b/agr_api/src/main/java/org/alliancegenome/api/service/helper/SearchHelper.java @@ -8,7 +8,6 @@ import java.util.Map; import java.util.Set; -import org.alliancegenome.es.model.search.AggDocCount; import org.alliancegenome.es.model.search.AggResult; import org.alliancegenome.es.model.search.Category; import org.elasticsearch.action.search.SearchResponse; @@ -96,6 +95,7 @@ public class SearchHelper { add("alterationType"); add("variantType"); add("molecularConsequence"); + add("diseasesAgrSlim"); add("genes"); } }); @@ -338,7 +338,6 @@ public ArrayList formatAggResults(String category, SearchResponse res Terms aggs = res.getAggregations().get("categories"); Set acceptableKeys = new HashSet<>(categoryFilters.keySet()); AggResult ares = new AggResult("category", aggs, acceptableKeys); - mergeAlleleVariantBuckets(ares); orderCategoryBuckets(ares); ret.add(ares); } else { @@ -354,24 +353,6 @@ public ArrayList formatAggResults(String category, SearchResponse res return ret; } - /** - * Merge the "allele_search_results" and "variant_search_results" aggregation buckets into a single "allele_search_results" bucket. - */ - private void mergeAlleleVariantBuckets(AggResult aggResult) { - long combinedCount = 0; - List toRemove = new ArrayList<>(); - for (AggDocCount bucket : aggResult.getValues()) { - if (bucket.getKey().equals(Category.ALLELE.getName()) || bucket.getKey().equals(Category.VARIANT.getName())) { - combinedCount += bucket.getTotal(); - toRemove.add(bucket); - } - } - aggResult.getValues().removeAll(toRemove); - if (combinedCount > 0) { - aggResult.getValues().add(new AggDocCount(Category.ALLELE.getName(), combinedCount)); - } - } - private void orderCategoryBuckets(AggResult aggResult) { aggResult.getValues().sort((a, b) -> Long.compare(b.getTotal(), a.getTotal())); } diff --git a/agr_java_core/src/main/java/org/alliancegenome/core/variant/converters/AlleleSearchResultConverter.java b/agr_java_core/src/main/java/org/alliancegenome/core/variant/converters/AlleleSearchResultConverter.java index 186822705..ea363158c 100644 --- a/agr_java_core/src/main/java/org/alliancegenome/core/variant/converters/AlleleSearchResultConverter.java +++ b/agr_java_core/src/main/java/org/alliancegenome/core/variant/converters/AlleleSearchResultConverter.java @@ -79,6 +79,10 @@ public List convert(List alle searchDoc.setGenes(List.of(geneSymbol)); } + if (doc.getGeneSynonyms() != null && !doc.getGeneSynonyms().isEmpty()) { + searchDoc.setGeneSynonyms(doc.getGeneSynonyms()); + } + if (doc.getCrossReference() != null && doc.getCrossReference().getReferencedCurie() != null) { searchDoc.setModCrossRefCompleteUrl(doc.getCrossReference().getReferencedCurie()); } diff --git a/agr_java_core/src/main/java/org/alliancegenome/es/model/AlleleSearchResultDocument.java b/agr_java_core/src/main/java/org/alliancegenome/es/model/AlleleSearchResultDocument.java index 2996a900a..a62b69c70 100644 --- a/agr_java_core/src/main/java/org/alliancegenome/es/model/AlleleSearchResultDocument.java +++ b/agr_java_core/src/main/java/org/alliancegenome/es/model/AlleleSearchResultDocument.java @@ -31,6 +31,7 @@ public AlleleSearchResultDocument() { private Set constructRegulatoryRegion; private Set constructKnockdownComponent; private List synonyms; + private Set geneSynonyms; private List secondaryIds; private List genes; private List diseases; diff --git a/pom.xml b/pom.xml index 09cbcd624..b941dda21 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ 3.3.1 10.17.0 UTF-8 - v0.47.31 + v0.47.32