Ik zou Apache Solr gebruiken . Ik denk dat het flexibeler is dan Sphinx. Solr ondersteunt zoeken in volledige tekst en heeft volgens mij add-ons voor semantische ondersteuning (zoals sirene ). Solr is de serverversie van Lucene.
Solr ondersteunt een SynonymFilter:http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#SynonymFilter
Dit bericht bespreekt enkele strategieën voor het optimaliseren van het ophalen van inhoud http://www.lucidimagination.com/devzone/technical-articles/optimizing-findability-lucene-and-solr