Skip to content

Commit e0b417d

Browse files
authored
Merge pull request #1540 from alliance-genome/add_species
Use Species for allele display names, normalize nameKey field
2 parents 0f780eb + da23b82 commit e0b417d

File tree

13 files changed

+23
-39
lines changed

13 files changed

+23
-39
lines changed

agr_api/src/main/java/org/alliancegenome/api/service/AutoCompleteService.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ public BoolQueryBuilder buildBasicQuery(String queryTerm, String category) {
4242
MultiMatchQueryBuilder multi = QueryBuilders.multiMatchQuery(queryTerm);
4343
multi.field("symbol", 5.0F);
4444
multi.field("symbol.keyword", 8.0F);
45-
multi.field("name_key.autocomplete", 3.0F);
4645
multi.field("nameKey.autocomplete", 3.0F);
4746
multi.field("name.keyword", 2.0F);
4847
multi.field("name.autocomplete");
@@ -77,11 +76,9 @@ public ArrayList<Map<String, Object>> formatResults(SearchResponse res) {
7776
for (SearchHit hit: res.getHits()) {
7877
String category = (String) hit.getSourceAsMap().get("category");
7978

80-
//this comes over from the Python code, use symbol for geneMap,
81-
//seems like maybe it could also use name_key for everyone...
79+
//this comes over from the Python code, use symbol for geneMap
8280
if (StringUtils.equals(category, Category.GENE.getName())) {
8381
hit.getSourceAsMap().put("name", hit.getSourceAsMap().get("symbol"));
84-
hit.getSourceAsMap().put("name_key", hit.getSourceAsMap().get("nameKey"));
8582
}
8683
ret.add(hit.getSourceAsMap());
8784
}

agr_api/src/main/java/org/alliancegenome/api/service/SearchService.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,13 @@ public FunctionScoreQueryBuilder.FilterFunctionBuilder[] buildBoostFunctions(Str
153153
functionList.add(rnaBoost());
154154
functionList.add(pseudogeneBoost());
155155

156-
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("name_key.keyword", q), ScoreFunctionBuilders.weightFactorFunction(1000F)));
157156
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("nameKey.keyword", q), ScoreFunctionBuilders.weightFactorFunction(1000F)));
158157

159158
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("primaryKey", q), ScoreFunctionBuilders.weightFactorFunction(1000F)));
160159
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("curie", q), ScoreFunctionBuilders.weightFactorFunction(1000F)));
161160

162-
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("name_key.keywordAutocomplete", q), ScoreFunctionBuilders.weightFactorFunction(500F)));
163161
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("nameKey.keywordAutocomplete", q), ScoreFunctionBuilders.weightFactorFunction(500F)));
164162

165-
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("name_key.standardBigrams", q), ScoreFunctionBuilders.weightFactorFunction(500F)));
166163
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("nameKey.standardBigrams", q), ScoreFunctionBuilders.weightFactorFunction(500F)));
167164

168165
functionList.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(matchQuery("species", q), ScoreFunctionBuilders.weightFactorFunction(2F)));
@@ -325,11 +322,7 @@ public void addRelatedDataLinks(Map<String, Object> result) {
325322
if (result.containsKey("relatedData")) {
326323
return;
327324
}
328-
String nameKey = (String) result.get("name_key");
329-
// Gene documents use "name_key" (snake_case), GO search result documents use "nameKey" (camelCase)
330-
if (nameKey == null) {
331-
nameKey = (String) result.get("nameKey");
332-
}
325+
String nameKey = (String) result.get("nameKey");
333326
// String name = (String) result.get("name");
334327
String category = (String) result.get("category");
335328

agr_api/src/main/java/org/alliancegenome/api/service/helper/SearchHelper.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,6 @@ public List<String> getSearchFields() {
185185
add("curie");
186186
add("id");
187187
add("localId");
188-
add("name_key");
189-
add("name_key.autocomplete");
190-
add("name_key.htmlSmoosh");
191-
add("name_key.keyword");
192-
add("name_key.standardBigrams");
193-
add("name_key.keywordAutocomplete");
194188
add("nameKey");
195189
add("nameKey.autocomplete");
196190
add("nameKey.htmlSmoosh");
@@ -273,7 +267,7 @@ public List<String> getSearchFields() {
273267
add("molecularConsequence");
274268
add("molecularFunction");
275269
add("name");
276-
add("name_key");
270+
add("nameKey");
277271
add("nameKey");
278272
add("primaryKey");
279273
add("soTermName");

agr_api/src/test/groovy/org/alliancegenome/api/tests/integration/QueryRankIntegrationSpec.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,13 @@ class QueryRankIntegrationSpec extends Specification {
105105

106106
@Unroll
107107
@Ignore
108-
def "When querying for #query first result name_key should be #nameKey"() {
108+
def "When querying for #query first result nameKey should be #nameKey"() {
109109
when:
110110
def encodedQuery = URLEncoder.encode(query, "UTF-8")
111111
//todo: need to set the base search url in a nicer way
112112
def results = ApiTester.getApiResults("/api/search?limit=50&offset=0&q=$encodedQuery")
113113

114-
def firstResultNameKey = results.first().get("name_key")
114+
def firstResultNameKey = results.first().get("nameKey")
115115

116116
then:
117117
results //should be some results

agr_java_core/src/main/java/org/alliancegenome/core/variant/converters/AlleleSearchResultConverter.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.alliancegenome.curation_api.model.document.es.AlleleSummaryDocument;
44
import org.alliancegenome.curation_api.model.entities.Allele;
5+
import org.alliancegenome.curation_api.model.entities.Species;
56
import org.alliancegenome.curation_api.model.entities.ontology.NCBITaxonTerm;
67
import org.alliancegenome.curation_api.model.entities.slotAnnotations.NameSlotAnnotation;
78
import org.alliancegenome.es.model.AlleleSearchResultDocument;
@@ -39,9 +40,17 @@ public List<AlleleSearchResultDocument> convert(List<AlleleSummaryDocument> alle
3940

4041
NCBITaxonTerm taxon = allele.getTaxon();
4142
if (taxon != null) {
42-
searchDoc.setSpecies(taxon.getName());
43-
if (allele.getAlleleSymbol() != null) {
44-
searchDoc.setNameKey(allele.getAlleleSymbol().getFormatText() + " (" + taxon.getName() + ")");
43+
Species species = taxon.getSpecies();
44+
if (species != null) {
45+
searchDoc.setSpecies(species.getFullName());
46+
if (allele.getAlleleSymbol() != null) {
47+
searchDoc.setNameKey(allele.getAlleleSymbol().getFormatText() + " (" + species.getAbbreviation() + ")");
48+
}
49+
} else {
50+
searchDoc.setSpecies(taxon.getName());
51+
if (allele.getAlleleSymbol() != null) {
52+
searchDoc.setNameKey(allele.getAlleleSymbol().getFormatText() + " (" + taxon.getName() + ")");
53+
}
4554
}
4655
} else if (allele.getAlleleSymbol() != null) {
4756
searchDoc.setNameKey(allele.getAlleleSymbol().getFormatText());

agr_java_core/src/main/java/org/alliancegenome/es/index/site/dao/AutoCompleteDAO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
public class AutoCompleteDAO extends ESDAO {
1717

1818
private List<String> responseFields = Arrays.asList(
19-
"name", "symbol", "curie", "primaryKey", "category", "go_type", "name_key", "nameKey"
19+
"name", "symbol", "curie", "primaryKey", "category", "go_type", "nameKey"
2020
);
2121

2222
public SearchResponse performQuery(QueryBuilder query) {

agr_java_core/src/main/java/org/alliancegenome/es/index/site/document/SearchableItemDocument.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.alliancegenome.es.index.site.doclet.CrossReferenceDoclet;
99

1010
import com.fasterxml.jackson.annotation.JsonInclude;
11-
import com.fasterxml.jackson.annotation.JsonProperty;
1211

1312
import lombok.Getter;
1413
import lombok.Setter;
@@ -34,7 +33,6 @@ public class SearchableItemDocument extends ESDocument {
3433
String href; //GO terms use this rather than modCrossRefCompleteUrl
3534
String localId;
3635
String name;
37-
@JsonProperty("name_key")
3836
String nameKey;
3937
String nameText;
4038
String modCrossRefCompleteUrl;

agr_java_core/src/main/java/org/alliancegenome/es/index/site/schema/Mapping.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,7 @@ protected void buildSharedSearchableDocumentMappings() throws IOException {
170170

171171
new FieldBuilder(builder, "name", "text").symbol().autocomplete().keyword().keywordAutocomplete().htmlSmoosh().standardBigrams().build(); // allele, gene, model, go, dataset, disease
172172
new FieldBuilder(builder, "nameText", "text").keyword().standardText().build(); // model
173-
new FieldBuilder(builder, "name_key", "text").analyzer("symbols").autocomplete().keyword().keywordAutocomplete().htmlSmoosh().standardBigrams().build(); // allele, gene, model, dataset, disease
174-
new FieldBuilder(builder, "nameKey", "text").analyzer("symbols").autocomplete().keyword().keywordAutocomplete().htmlSmoosh().standardBigrams().build(); // go_search_result
173+
new FieldBuilder(builder, "nameKey", "text").analyzer("symbols").autocomplete().keyword().keywordAutocomplete().htmlSmoosh().standardBigrams().build(); // allele, gene, model, dataset, disease, go_search_result
175174

176175

177176
new FieldBuilder(builder, "subject.alleleSymbol.displayText", "text").keyword().sort().build(); // allele_disease_annotation

agr_java_core/src/main/java/org/alliancegenome/es/index/site/schema/VariantMapping.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public void buildMapping() {
1515
builder.startObject("properties");
1616
new FieldBuilder(builder, "category", "keyword").symbol().autocomplete().keyword().build();
1717
new FieldBuilder(builder, "name", "keyword").build();
18-
new FieldBuilder(builder, "name_key", "keyword").build();
18+
new FieldBuilder(builder, "nameKey", "keyword").build();
1919
new FieldBuilder(builder, "alterationType", "text").keyword().build();
2020
new FieldBuilder(builder, "genes", "text").keyword().build();
2121
new FieldBuilder(builder, "geneIds", "keyword").build();

agr_java_core/src/main/java/org/alliancegenome/es/model/AlleleSearchResultDocument.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import org.alliancegenome.curation_api.model.document.es.ESDocument;
77
import org.alliancegenome.es.model.search.RelatedDataLink;
88

9-
import com.fasterxml.jackson.annotation.JsonProperty;
10-
119
import lombok.Getter;
1210
import lombok.Setter;
1311

@@ -23,7 +21,6 @@ public AlleleSearchResultDocument() {
2321
private String symbol;
2422
private String symbolText;
2523
private String name;
26-
@JsonProperty("name_key")
2724
private String nameKey;
2825
private String primaryKey;
2926
private String species;

0 commit comments

Comments
 (0)