lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stuart Halloway <stuart.hallo...@gmail.com>
Subject Re: will Lucene seek past the end of an IndexInput?
Date Mon, 07 Jan 2013 19:34:32 GMT
Still no joy isolating, increasingly convinced the problem is in my code.
The overseeks are always in the .frq files, and always modest, e.g. 10%
past the end, not 1000%.  Always from the ConjunctionScorer -- I can search
for every word in the index in isolation without hitting the problem.

Any of that ring bells?

Stu


On Mon, Jan 7, 2013 at 11:25 AM, Stuart Halloway
<stuart.halloway@gmail.com>wrote:

> Beyond it, and it seems to read after that too.  I am re-running the
> (large, cumbersome) test case I have in hand with the infoStream spout
> turned on and will be back with more detail in a bit...
>
>
> On Mon, Jan 7, 2013 at 11:08 AM, Michael McCandless <
> lucene@mikemccandless.com> wrote:
>
>> Hmm good question!
>>
>> Are you seeing ConjunctionScorer seek to exactly the end-of-file (ie,
>> == length), or beyond it?
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>> On Mon, Jan 7, 2013 at 10:57 AM, Stuart Halloway
>> <stuart.halloway@gmail.com> wrote:
>> > I have implemented a custom Lucene directory, and I think I am seeing
>> > Lucene's ConjunctionScorer seek off the end of IndexInput, which I have
>> > implemented to throw an exception.  One example stack trace leading to
>> this
>> > is:
>> >
>> >  at
>> org.apache.lucene.index.SegmentTermDocs.skipTo(SegmentTermDocs.java:197)
>> >  at org.apache.lucene.search.TermScorer.advance(TermScorer.java:156)
>> >  at
>> >
>> org.apache.lucene.search.ConjunctionScorer.doNext(ConjunctionScorer.java:99)
>> >  at
>> >
>> org.apache.lucene.search.ConjunctionScorer.<init>(ConjunctionScorer.java:72)
>> >  at
>> >
>> org.apache.lucene.search.ConjunctionScorer.<init>(ConjunctionScorer.java:33)
>> >
>> > Upon reading Lucene's own source, I see some evidence that seeking off
>> the
>> > end should be legal, e.g. RAMInputStream has a boolean enforceEOF flag
>> which
>> > is set to false by calls to seek.
>> >
>> > I am working to make a small reproducible case, but in the meantime
>> hoping
>> > that somebody has more details about how seek is supposed to be used.
>> >
>> > On the 3.x line btw, and testing with multiple versions from 3.2 to 3.6.
>> >
>> > Thanks,
>> > Stu
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: dev-help@lucene.apache.org
>>
>>
>

Mime
View raw message