Synonyms boosting

Hi there,

Is it possible to have synonyms for a term boosted (with a value lower than

An example would be a car-rental system, where you can specify the class of
the car:
economic, medium, van, luxury etc.

No if somebody searches for economic, and applies a filter for
airconditioning (and maybe a bunch of other things), it could happen that
there is no availability.
I would like to be able to do one query that has a fallback that also
allows the term medium when you search for economic, but I want it boosted
with a certain value. So a standard synonym file wouldn't quite do the

I could of course have a query-time expansion of the synonyms with a SHOULD
boolean query and boost the individual terms I want to match, but that
would involve lots of complex query building. It would be super nice if I
could let ES handle this...

Does anyone have experience with build this kind of system with
ElasticSearch? Any thoughts on how else to implement it?



I would like to add that I've heard from a former colleage that they
implemented (a long time ago) this kind of stuff for a library system
(which wasn't built on Lucene). They took a vector approach (which is a lot
like boosting) and they could compare the search vector with the vectors of
documents and apply multi-dimensional calculations towards comparing the

I guess this is more of a lucene question anyway, but maybe ElasticSearch
has already something for it I don't know about?