Query describes the goal of a search in the LSM tree. The caller specifies this to guide the
merger on which layer files it must consult.
Layers might be skipped during a query for a few reasons:
Users must provide a merge function which will take pairs of items, left and right, and return a
merge result. The left item’s key will either be less than the right item’s key, or if they are
the same, then the left item will be in a lower layer index (lower layer indexes indicate more
recent entries). The last remaining item is always emitted.