Clarifying the notion of query_parser in ElasticSearch

Hi I simply would like to understand a bit better what constitutes a query parser in elasticsearch parlance.

I am switching from Solr, hence i am a bit puzzled by the vocabulary.

So far the only time i hear about a query parser in elasticsearch it is query_string. From what i understand it is like the Edismax queryparser of Solr.

However, i wonder why Multi-Match is not called a query parser for instance ? From what i have red, it should be consider like a field centric query parser expect when using it with type: Crossfield.

Could you explain, what is a query parser in elasticsearch parlance, how many does elasticsearch have, and which one.

Finally how does the Query DSL relate to it ?


I am able to reproduce some of the functionality i had in solr. But it still feels to me like i am hacking this and that here and there, because things still appear confusing to me. I would like gain autonomy and properly understand what is what.

In the getting started guide we have "search in depth section" Which seems to focus on query parser, match, multi-match, querystring.

Then in the reference guide, those are not mentioned at all, and we have is the Query DSL section.

So if someone could help me make sense of all this that would be great.