Full text searches often require synonym searches. For example, if a user is searching for equity then he would expect to get the results which contain share and stock. A user might search for
the US and expect to find documents that contain United States, USA, U.S.A., or America. However, they wouldn't expect to see results about the states of matter or state machines.
Synonyms are used to broaden the scope matching documents and often people try to provide synonyms for every word in the language, to ensure that any document can be found with even the most remotely related terms. But they should be used only when necessary and just as with partial matching we have seen in previous sections, synonym fields should not be used alone but should be combined with a query to set the context and get better results.
Synonyms appear to be a very simple concept but they are very tricky to implement. They are prone to yield false positive or false negative results if all scenarios...