Optimize phrase queries and result generation
For phrase queries, there is no need to evaluate further terms after the first non-matching one, as the individual terms of a phrase are ANDed.
The temporary QByteArray required for each path component can be trivially reused while walking up the tree.