Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search API and interfaces to it #11

Open
cryos opened this issue May 2, 2019 · 1 comment
Open

Search API and interfaces to it #11

cryos opened this issue May 2, 2019 · 1 comment

Comments

@cryos
Copy link
Member

cryos commented May 2, 2019

The current state is that endpoints such as molecules, calculations will return all elements in the database which will not scale, or they can search on name, inchi etc. Our search capabilities are also quite limited at present. I would say on the backend we want to support search with some common features across our different collections/endpoints:

  • Automatically limit to 25 search results
  • Ensure returned data is useful, but not too big
  • Support for changing the limit
  • Support for specifying an offset
  • Support for ordering by parameters (default to most recent first)
  • Support for changing the sort order/direction

The returned data should follow a similar pattern too, with a JSON object containing high level summary of the results, and a results array containing result objects:

{
  "matches": 42,
  "limit": 2,
  "offset": 0,
  "results": [ { ... }, { ... } ]
}

I think we need to work on extending our concept of users to include some useful data such as ORCID, Twitter username, etc that can be set publicly so that you might search on a name, ORCID, etc to see results for that person in molecules, calculations, ... There are a few things we should try and get working in search too, including queries like USER AND heavy atom count = 10, > 10, etc. Same for molecular weight, formula, InChI, InChI key, SMILES.

I think starting with molecules search is good as it is simpler, then calculations doing things like calculations run by Marcus using NWChem or Psi4 sorted by most recent would be good to think about. These should come after the card stuff, and it likely needs further discussion but writing down some ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants