0

We have an Azure Search service running in our production environment. The majority of what our clients query on is proper names inside of blocks of text. We want to be able to return results with "Joseph" if someone queries on "Joe" and vice-versa. We've tried implementing phonetic analyzers but it seems these only support "sounds like" name similarities, and not nicknames.

Does this type of nickname analysis exist within Azure Search, perhaps by using Microsoft Natural Language analysis? If not, how can I add this functionality to our index?

Stpete111
  • 3,109
  • 4
  • 34
  • 74

1 Answers1

1

You can use synonyms: https://azure.microsoft.com/en-us/blog/azure-search-synonyms-public-preview/

It won't automatically produce nicknames but it'll allow you to produce a list of names/nicknames and have the search engine automatically incorporate them at search time.

Pablo Castro
  • 1,644
  • 11
  • 11
  • Hi Pablo, thanks for the reply. Is there any limit to the amount of synonyms you can have? As you can imagine, if we have to define our own list, it's going to be quite large. One nickname database I saw for sale has millions of entries. – Stpete111 Jul 29 '17 at 21:54
  • The limits are documented here: https://learn.microsoft.com/en-us/rest/api/searchservice/create-synonym-map. They are much lower than millions. An alternative for that amount is to duplicate this content in the input (e.g. scan the text, find terms in your database, and add them to the same field or to a separate field). – Pablo Castro Aug 01 '17 at 23:41