'How does Elasticsearch evaluate percolation condition order?

Let's say I have a query in the elasticsearch percolator that is:

text:(a very complex boolean phrase with proximity and wildcards) AND type:printed

And then, I run percolation on a document that has:

text:(a very big text) type:digital

Will the elasticsearch percolator, evaluate the type: condition first and skip evaluating the text: condition? (because type evaluates to false there's no need to evaluate the text)

I'm asking, because the text: condition is much heavier than the type: since text: will have to analyse the whole query/document while type: condition is much simpler to evaluate.

Does elasticsearch do such optimizations, or will it evaluate both conditions even if text: can be skipped when evaluating type: first ?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source