I have a database with more than 2000K words. Each word can have many synonyms, e.g. color = red, blue, green etc.
The application I am building is quite simple: you can search for a word/string, and in the results, all matching words are returned.
I wonder what is the best database design for this application?
Should each row consist of word, synonym
or should a word have a self join to another word in the db.