In working on LUCENE-1001, things are getting a bit complicated with
loading payloads in overlapping spans (which causes the dreaded Can't
load payload more than once error).
This got me thinking about why we need the rule that payloads can only
be loaded once. I forget the reasoning behind this. Can we just
store where the current position before we load the payload and then
seek back to that point if we need to load the payload again? I
suppose in the case of really large payloads the seek on the
IndexInput could be expensive, but in reality, most payloads aren't
likely to be more than a few bytes, right? There also seems to be
some interactions with the lazy skipping that I haven't quite pinned
down yet. What else am I forgetting?
The other alternative I can think of is I could cache the payloads,
but that seems unwieldy too.
-Grant
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]