Mark Miller wrote:
Michael McCandless wrote:
Mark Miller wrote:
So HitCollector#collect(int doc, float score) is not called in a
special
(default) order and must order the docs itself by score if one
needs the
hits sorted by relevance?
Presumably there is no score ordering to the hit id's lucene
delivers to
a HitCollector? i.e. they are delivered in the order they are
found and
score is neither ascending or descending i.e. the next score
could be
higher or lower that the previous one?
They come in doc id order unless you change
BooleanQuery#setAllowDocsOutOfOrder(boolean allow) (I'm pretty
sure thats the only case, but not positive)
In general, the docIDs are not guaranteed to arrive in order to the
HitCollector. EG in 2.9, IndexSearcher can visit the segments in a
different order.
Mike
Up to 2.4 (current release), they do come in order though, right?
I believe so (except for BooleanQuery as you described above).
We should update the javadocs in BooleanQuery before 2.9 goes out:
* Specifics: By setting this option to true, calls to
* {...@link HitCollector#collect(int,float)} might be
* invoked first for docid N and only later for docid N-1.
* Being static, this setting is system wide.
* </p>
*/
public static void setAllowDocsOutOfOrder(boolean allow) {
This implies they are normally in doc id order (which they were
until 2.9 right?)
Agreed! Can you commit that?
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org