How to prioritize exact keyword matching objects over synonym matches?


I have some objects in the index that correspond to boto3 apis eg. the title of the objects are “create an aws bucket”, " get aws ec2 metrics from cloudwatch", " list of eks namespaces" and so on. I have made aws and eks as synonyms. On searching “eks”, I expect to see “list of eks namespaces” as the topmost object. However, I see “create an aws bucket” on top since “eks” and “aws” are synonyms. Is there a way that would prioritize the objects having the word “eks” over synonym matches ?

In the Algolia engine, synonyms are counted as exact matches. There is no way to deprioritize synonyms from the original word as the whole point of them is for cases when the words have identical meaning, (“jumper”:“sweater” for instance).

I don’t think synonyms are the right tool for what you are trying to accomplish, since “eks” and “aws” aren’t actually equivalent in this context. It might make more sense to put “aws” into a “category” or “tag” attribute that is searchable, but has a lower priority than the title. This would allow you to better tune the ranking here.