We have a general question related to permutations of multiword search phrases: are variations such as dash, trademarks, spaces already handled? For instance, when we enter "lift off" or "lift-off" we get the product in the test collection with the "Lift-Off&trademark Cleaning Machine" which is what we want. There was a synonym entry for "lift off" to "lift-off" but when we removed it, we still got the product "Lift-Off&tradmark ..." that we expected.
Extra characters can be already taken out with the WordDelimiterFilterFactory class. So in this case, you do not need synonyms for things like "lift" => "lift-off" because it is delimiting and combining those words into sub-units and combinations already. Use the analyzer to see what a term does at both indexing time and query time and you will get an idea of whether or not you will get matches from the query to the indexed term/s.