The source word (such as 'big') can be looked up in the
"word" field, and if present there will be fields named "syn"
for every synonym. What's tricky here is that there could be multiple
fields with the same name, in the general case for words that have multiple synonyms.
That's not a problem with Lucene, you just use Document.getValues(java.lang.String)

While the WordNet file distinguishes groups of synonyms with
related meanings we don't do that here.

This can take 4 minutes to execute and build an index on a "fast" system and the index takes up almost 3 MB.