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 0356cb5d3..444159098 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 @@ -216,6 +216,8 @@ public List getSearchFields() { add("variants"); add("variants.keyword"); add("variants.standardText"); + add("variantHgvs"); + add("variantHgvs.keyword"); add("variantSynonyms"); add("variantSynonyms.keyword"); add("variantSynonyms.standardText"); 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 ea363158c..adbfb4c57 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 @@ -126,11 +126,15 @@ public List convert(List alle } Set consequences = new HashSet<>(); + Set variantHgvs = new HashSet<>(); for (var variant : doc.getVariants()) { if (variant.getCuratedVariantGenomicLocations() == null) { continue; } for (var location : variant.getCuratedVariantGenomicLocations()) { + if (location.getHgvs() != null) { + variantHgvs.add(location.getHgvs()); + } if (location.getPredictedVariantConsequences() == null) { continue; } @@ -149,6 +153,9 @@ public List convert(List alle if (!consequences.isEmpty()) { searchDoc.setMolecularConsequence(consequences); } + if (!variantHgvs.isEmpty()) { + searchDoc.setVariantHgvs(variantHgvs); + } } result.add(searchDoc); diff --git a/agr_java_core/src/main/java/org/alliancegenome/es/index/site/schema/Mapping.java b/agr_java_core/src/main/java/org/alliancegenome/es/index/site/schema/Mapping.java index 38f82fc12..0c40cbc6c 100644 --- a/agr_java_core/src/main/java/org/alliancegenome/es/index/site/schema/Mapping.java +++ b/agr_java_core/src/main/java/org/alliancegenome/es/index/site/schema/Mapping.java @@ -99,6 +99,7 @@ protected void buildSharedSearchableDocumentMappings() throws IOException { new FieldBuilder(builder, "symbolText", "text").keyword().standardText().build(); // allele //new FieldBuilder(builder, "variants", "text").keyword().standardText().build(); // allele + new FieldBuilder(builder, "variantHgvs", "text").keyword().build(); // allele - HGVS notation for searchability new FieldBuilder(builder, "variantType", "text").keyword().build(); // variant search result //new FieldBuilder(builder, "variantSynonyms", "text").keyword().standardText().build(); // allele 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 a62b69c70..87b56e925 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 @@ -27,6 +27,7 @@ public AlleleSearchResultDocument() { private String alterationType; private List variantType; private Set molecularConsequence; + private Set variantHgvs; private Set constructExpressedComponent; private Set constructRegulatoryRegion; private Set constructKnockdownComponent;