intermine / intermine/intermine

FacetSearch and FacetList endpoints return invalid facet keys

Open
#2,083 0 comments 0 reactions 0 assignees View on GitHub
bluegenes bug enhancement
Dominant language
Java
Stars
271
Forks
344
PR merge metrics
No merged PRs in 30d

Description

Here's the response to a FacetSearch request,

```
GET www.humanmine.org/humanmine/service/facets?q=gata&facet_organism.shortName=H.%20sapiens 200

{"facets":{"results":[{"Category":[{"name":"Exon","value":497},{"name":"Gene","value":83},{"name":"MRNA","value":49},{"name":"Allele","value":24},{"name":"Protein","value":11},{"name":"Transcript","value":11}]},{"Organism":[{"name":"H. sapiens","value":675}]}]},"executionTime":"2019.08.15 11:03::48","wasSuccessful":true,"error":null,"statusCode":200}
```

it returns `"Organism"` as the key for the organism facet.

This differs from a QuickSearch request

```
GET www.humanmine.org/humanmine/service/search?q=gata&facet_organism.shortName=H.%20sapiens 200

{"totalHits":675,"facets":{"Category":{"Transcript":11,"Allele":24,"Exon":497,"Gene":83,"MRNA":49,"Protein":11},"organism.shortName":{"H. sapiens":675}},"results": [...],"executionTime":"2019.08.15 11:03::13","wasSuccessful":true,"error":null,"statusCode":200}
```

which returns `"organism.shortName"` as the key instead.

Using `facet_Organism` (simply "facet_" prepended to the key) has no effect on the results of the search. You have to use `facet_organism.shortName` to filter the results down. (This applies to both FacetSearch and QuickSearch.)

Since FacetSearch doesn't tell the client about `organism.shortName`, it doesn't seem to be possible to specify it as a query string to filter the search. FacetList has the same issue, returning `"Organism"` instead of `"organism.shortName"`. If the Facet endpoints returned the same keys as QuickSearch does, this wouldn't be a problem.

I heard from Dani that @arunans23 may have some information here?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.