I'm developing a set of synonyms, where you can find some multi-word expressions, such as:
black berry => blackberry
At the analysis stage, and using the /admin/analysis.jsp tools, I can see that the results are correct.
A query such as "quiero una black berry" returns the following sequence:
The org.apache.solr.analysis.StandardTokenizerFactory {luceneMatchVersion=LUCENE_36}:
position 1 2 3 4
term text quiero una black berry
startOffset 0 7 11 17
endOffset 6 10 16 22
type <ALPHANUM> <ALPHANUM> <ALPHANUM> <ALPHANUM>
The org.apache.solr.analysis.SynonymFilterFactory {synonyms=lang/synonyms_es.txt, expand=false, ignoreCase=true, luceneMatchVersion=LUCENE_36}:
position 1 2 3
term text quiero una blackberry
type <ALPHANUM> <ALPHANUM> SYNONYM
startOffset 0 7 11
endOffset 6 10 22
However, if I try this sentence at a "real" query, the request handler (an evolution of the edismax handler), the tokens "black" and "berry" were not replaced by "blackberry".
I've seen here that you can solve this situation by modifying the FieldQParser plugin.
Anyway, since such post was made almost 3 years ago, I'd like to know if there's some way of solving this problem inside Solr, avoiding having to expand some plugin.
Thanks.