Hi there,
Apologies for the delay, I was out on vacation at the end of last week. The causes of this are (1) there is no record with the exact name "Indian Institute of Science" and (2) ?affiliation parameter search approach tries 4 different matching algorithms and mixes the results from those different approaches together in the response.
You'll see in the results that Indian Institute of Soil Science has a matching score of .92 based on "matching_type" : "COMMON TERMS" while the next highest result (Indian Institute of Science Bangalore) had a score of .84 based on "matching_type" : "PHRASE". The Common terms algorithm searches records for each term in your query ("Indian", "Institute", "Science") separately, which means that records with one or more those relatively common terms in multiple fields (regardless of what order they appear in) may receive a high score, despite no fields containing an exact match to your query.
For this particular case, a ?query parameter search does a better job, since you can specify an exact substring match using quotes, ex:
That said, you may find cases where ?query is far less accurate than ?affiliation - this is something we're working to address, though we're in the initial phases of gathering feedback on how we can improve our search functionality. I'd be curious to hear more about your experience and use case - please feel free to comment on this Github issue
https://github.com/ror-community/ror-api/issues/196
Cheers,
Liz
---