plazi / BLR-website

1 stars 0 forks source link

Exact searches might not be the case here #18

Open mguidoti opened 4 years ago

mguidoti commented 4 years ago

Hi Puneet,

So, Teodor just notice that the v2/treatments endpoint only returns exact matches with the query.

This is being used in the Taxon search, because the user can't/won't specify on the query which taxonomic rank he/she is interested in (thus we can't use a rank-specific parameter), and treatment titles will always have the taxon name, meaning that, they can be used to search by taxon if and only if the API is not only returning exact matches.

According to our testing, the same applies for authors' names, journals' names and communities.

The only desired exact search is really on collection codes.

punkish commented 4 years ago

so let me clarify this… you want a non-exact search for everything except collection codes? Per the docs, you can query treatments, in any combination, against:

For one, inexact searches for a lot of these make no sense (journalVolume?). The other, more important thing to remember is that inexact searches are slow. So they should be done only where absolutely necessary. I can't build indexes against inexact searches without imposing some kind of rules. Which is why fulltext search exists because it allows fuzzy searches very fast, but it does it all with its own internal magic.

So, I would prefer if you all go through the above params and narrow down inexact searches to the very necessary ones. Please give me that list (hopefully a short one), and I will build indexes and experiment.

Keep in mind, a slow search will not only reflect badly on the website, it will also frustrate users.