Index-time synonyms are embedded in the index parallel to the original word, and a query cannot notice that a term is a synonym. Query-time synonyms work roughly the same. Here are a few options:
- Put the synonym list in the app.
- Create two fields, one with synonyms and one without. Add a boost to the synonym-based field.
This two-field approach is the most common, and works very well. You can even use different synonym files in the two fields.