[prev in list] [next in list] [prev in thread] [next in thread]
List: solr-dev
Subject: RE: Re: Integer.MAX_VALUE sentinel never checked?
From: Azeez Latheef <mkllatheef () gmail ! com>
Date: 2023-09-22 12:04:40
Message-ID: CAODeHLQgfMCngEu1pMbNqFo-QC47kFCMReFAR6vXKa_EREJGCQ () mail ! gmail ! com
[Download RAW message or body]
On 3203/12/01 19:23:01 Doug Cutting wrote:
> I don't think this value actually find its way into the results. Rather
> it causes PhraseScorer.score() to exit, as this value is always greater
> than the value of 'end' passed into that method.
>
> Doug
>
> Simon Cozens wrote:
>
> > Plucene is nearly finished, and is busy being unit-tested to death. In
the
> > process of doing this, we found that some of our phrase queries were
returning
> > more results than we expected. This is because when PhrasePositions
falls off
> > the end of the iterator, it returns a sentinel value:
> >
> > if (!tp.next()) {
> > tp.close(); // close stream
> > doc = Integer.MAX_VALUE; // sentinel value
> > return;
> > }
> >
> > However, I can't see anything else that checks for that sentinel:
> >
> > % grep MAX_ *.java
> > DateFilter.java: String end = DateField.MAX_DATE_STRING();
> > PhrasePositions.java: doc =
Integer.MAX_VALUE; // sentinel value
> > TermScorer.java: doc = Integer.MAX_VALUE; //
set to sentinel value
> > TermScorer.java: doc = Integer.MAX_VALUE; //
set to sentinel value
> >
> > so a very big document ID is finding its way into the result set. Is
> > this the desired behaviour?
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
>
>
[Attachment #3 (text/html)]
<div dir="auto"><br><br>On 3203/12/01 19:23:01 Doug Cutting wrote:<br>> I \
don't think this value actually find its way into the results. Rather <br>> \
it causes PhraseScorer.score() to exit, as this value is always greater <br>> than \
the value of 'end' passed into that method.<br>> <br>> Doug<br>> \
<br>> Simon Cozens wrote:<br>> <br>> > Plucene is nearly finished, and is \
busy being unit-tested to death. In the<br>> > process of doing this, we found \
that some of our phrase queries were returning<br>> > more results than we \
expected. This is because when PhrasePositions falls off<br>> > the end of the \
iterator, it returns a sentinel value:<br>> > <br>> > if \
(!tp.next()) {<br>> > tp.close(); \
// close stream<br>> > doc = Integer.MAX_VALUE; \
// sentinel value<br>> > return;<br>> > }<br>> \
> <br>> > However, I can't see anything else that checks for that \
sentinel:<br>> > <br>> > % grep MAX_ *.java<br>> > \
DateFilter.java: String end = DateField.MAX_DATE_STRING();<br>> > \
PhrasePositions.java: doc = Integer.MAX_VALUE; \
// sentinel value<br>> > TermScorer.java: doc = Integer.MAX_VALUE; \
// set to sentinel value<br>> > TermScorer.java: doc = \
Integer.MAX_VALUE; // set to sentinel value<br>> \
> <br>> > so a very big document ID is finding its way into the result set. \
Is<br>> > this the desired behaviour?<br>> > <br>> <br>> <br>> \
---------------------------------------------------------------------<br>> To \
unsubscribe, e-mail: <a \
href="mailto:lucene-dev-unsubscribe@jakarta.apache.org">lucene-dev-unsubscribe@jakarta.apache.org</a><br>> \
For additional commands, e-mail: <a \
href="mailto:lucene-dev-help@jakarta.apache.org">lucene-dev-help@jakarta.apache.org</a><br>> \
<br>> </div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic