[ 
https://issues.apache.org/jira/browse/LUCENE-1593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12699237#action_12699237
 ] 

Shai Erera commented on LUCENE-1593:
------------------------------------

Ok, so with the latest changes to LUCENE-1529, I ran "ant clean clean-tags 
test-tags" and I see this:
{code}
    [junit] Testcase: testPQ(org.apache.lucene.util.TestPriorityQueue): Caused 
an ERROR
    [junit] org/apache/lucene/util/PriorityQueue.put(Ljava/lang/Object;)V
    [junit] java.lang.NoSuchMethodError: 
org/apache/lucene/util/PriorityQueue.put(Ljava/lang/Object;)V
    [junit]     at 
org.apache.lucene.util.TestPriorityQueue.testPQ(TestPriorityQueue.java:61)
    [junit]     at 
org.apache.lucene.util.TestPriorityQueue.testPQ(TestPriorityQueue.java:48)
    [junit] Testcase: testClear(org.apache.lucene.util.TestPriorityQueue):      
Caused an ERROR
    [junit] org/apache/lucene/util/PriorityQueue.put(Ljava/lang/Object;)V
    [junit] java.lang.NoSuchMethodError: 
org/apache/lucene/util/PriorityQueue.put(Ljava/lang/Object;)V
    [junit]     at 
org.apache.lucene.util.TestPriorityQueue.testClear(TestPriorityQueue.java:90)
    [junit] Test org.apache.lucene.util.TestPriorityQueue FAILED
{code}

TestPQ fails as Mike expected.

Since this breaks back-compat, can we still do this in 3.0? If so, I'll add it 
to LUCENE-1601 even though it's not a direct followup of 1575. What do you 
think?

> Optimizations to TopScoreDocCollector and TopFieldCollector
> -----------------------------------------------------------
>
>                 Key: LUCENE-1593
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1593
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Search
>            Reporter: Shai Erera
>             Fix For: 2.9
>
>
> This is a spin-off of LUCENE-1575 and proposes to optimize TSDC and TFC code 
> to remove unnecessary checks. The plan is:
> # Ensure that IndexSearcher returns segements in increasing doc Id order, 
> instead of numDocs().
> # Change TSDC and TFC's code to not use the doc id as a tie breaker. New docs 
> will always have larger ids and therefore cannot compete.
> # Pre-populate HitQueue with sentinel values in TSDC (score = Float.NEG_INF) 
> and remove the check if reusableSD == null.
> # Also move to use "changing top" and then call adjustTop(), in case we 
> update the queue.
> # some methods in Sort explicitly add SortField.FIELD_DOC as a "tie breaker" 
> for the last SortField. But, doing so should not be necessary (since we 
> already break ties by docID), and is in fact less efficient (once the above 
> optimization is in).
> # Investigate PQ - can we deprecate insert() and have only 
> insertWithOverflow()? Add a addDummyObjects method which will populate the 
> queue without "arranging" it, just store the objects in the array (this can 
> be used to pre-populate sentinel values)?
> I will post a patch as well as some perf measurements as soon as I have them.

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

Reply via email to