lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] Commented: (LUCENE-2190) CustomScoreQuery (function query) is broken (due to per-segment searching)
Date Fri, 19 Feb 2010 19:24:29 GMT


Uwe Schindler commented on LUCENE-2190:

During refactoring I found out:

CustomScoreQuery is more broken: the rewrite() method is wrong, for now its not really a problem
but when we change to per-segment rewrite (as Mike plans) its broken. Its even broken if you
rewrite against one IndexReader and want to reuse the query later on another IndexReader.
It rewrites all its subqueries and returns itsself, which is wrong: if one of the subqueries
was rewritten it must return a new clone instance (like BooleanQuery). Also hashCode and equals
ignore strict.

Will provide patch later. Now everything seems to work correct.

> CustomScoreQuery (function query) is broken (due to per-segment searching)
> --------------------------------------------------------------------------
>                 Key: LUCENE-2190
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 2.9, 2.9.1, 3.0, 3.0.1, 3.1
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 2.9.2, 3.0.1, 3.1
>         Attachments: LUCENE-2190.patch
> Spinoff from here:
> With the cutover to per-segment searching, CustomScoreQuery is not really usable anymore,
because the per-doc custom scoring method (customScore) receives a per-segment docID, yet
there is no way to figure out which segment you are currently searching.
> I think to fix this we must also notify the subclass whenever a new segment is switched
to.  I think if we copy Collector.setNextReader, that would be sufficient.  It would by default
do nothing in CustomScoreQuery, but a subclass could override.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message