Quote:
1. For the above requirement above how do I do an Exact Phrase search? Example "Project Management" vs field1 :"Project" field 1:"Management"
using a PhraseQuery? you can score matches higher when the order of terms is similar to the order defined in your query, and check the other options such as sloppyness.
Quote:
2. Use synonyms with NGram
You can use synonyms, or NGrams, or combine them. It seems you want to combine them, but the effect might not be what you expect; I'd suggest insted to try indexing the same field twice using two different analysers, so to write two different fields (example: description_synonyms, description_ngrams ). Use the @Fields annotation to list multiple fields.