You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shai Erera (JIRA)" <ji...@apache.org> on 2007/12/13 07:05:43 UTC

[jira] Commented: (LUCENE-1089) Add insertWithOverflow to PriorityQueue

    [ https://issues.apache.org/jira/browse/LUCENE-1089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12551227 ] 

Shai Erera commented on LUCENE-1089:
------------------------------------

1. Actually there was why I removed the minScore. There's no point in evaluating minScore with current score because it's been evaluated again in insertWithOverflow. You don't lose anything by just populating reusableSD and calling insertWithOverflow. For that reason I removed collect() from TopFieldDocCollector. To me it looks like a cleaner code, and gain, performance wise, you only make the same comparison twice.

2. That's a good one.

3. Initially I thought TopFieldDocCollector would use it as FieldDoc (which extends ScoreDoc) and using TopDocCollector's collect() method. Then I implemented a protected newScoreDoc(doc, score) which was overidden by TopFieldDocCollector. That way, if TFDC uses TDC's collect() method, all it needs to do is override newScoreDoc(doc, score) to return a FieldDoc.

4. Initially I implemented top() the same as you did, but then there were tests that created a PQ of size 0. However, with the change to initialize, it is safe to do it.

I think that TDC and TFDC as I put them in the patch are extended cleaner and that way we don't do any extra logic (that's the reason why you would have needed to write the comment in TFDC's collect() method about simply comparing the score. Please re-consider my changes.

> Add insertWithOverflow to PriorityQueue
> ---------------------------------------
>
>                 Key: LUCENE-1089
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1089
>             Project: Lucene - Java
>          Issue Type: Improvement
>    Affects Versions: 2.3
>            Reporter: Shai Erera
>            Assignee: Michael McCandless
>            Priority: Minor
>             Fix For: 2.3
>
>         Attachments: LUCENE-1089.take3.patch, PriorityQueue-2.patch, PriorityQueue.patch
>
>
> This feature proposes to add an insertWithOverflow to PriorityQueue so that callers can reuse the objects that are being dropped off the queue. Also, it changes heap to protected for easier extensibility of PQ

-- 
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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org