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

Robert Muir commented on LUCENE-4571:
-------------------------------------

Here's my performance results.
{noformat}
                    Task   QPS trunk      StdDev   QPS patch      StdDev        
        Pct diff
                PKLookup      251.82      (1.3%)      239.58      (2.5%)   
-4.9% (  -8% -   -1%)
     Low4MinShouldMatch0        8.34      (6.0%)        8.62      (6.8%)    
3.3% (  -8% -   17%)
     Low1MinShouldMatch0        1.90      (3.9%)        1.99      (6.0%)    
4.8% (  -4% -   15%)
     Low2MinShouldMatch0        2.41      (4.3%)        2.53      (6.3%)    
4.8% (  -5% -   16%)
     Low3MinShouldMatch0        3.94      (4.4%)        4.13      (6.3%)    
5.0% (  -5% -   16%)
     HighMinShouldMatch0        1.61      (3.7%)        1.70      (6.0%)    
5.1% (  -4% -   15%)
     HighMinShouldMatch2        1.68      (4.1%)        1.94      (5.0%)   
15.6% (   6% -   25%)
     Low1MinShouldMatch2        1.99      (4.4%)        2.39      (5.4%)   
19.8% (   9% -   30%)
     Low2MinShouldMatch2        2.57      (5.0%)        3.27      (6.4%)   
27.2% (  15% -   40%)
     HighMinShouldMatch3        1.71      (4.3%)        2.48      (5.6%)   
45.0% (  33% -   57%)
     Low3MinShouldMatch2        4.24      (5.2%)        6.21      (8.4%)   
46.3% (  31% -   63%)
     Low1MinShouldMatch3        2.05      (4.6%)        3.25      (6.9%)   
58.9% (  45% -   73%)
     HighMinShouldMatch4        1.74      (4.5%)        3.52      (8.2%)  
102.2% (  85% -  120%)
     Low2MinShouldMatch3        2.67      (5.4%)        5.40     (10.7%)  
102.3% (  81% -  125%)
     Low1MinShouldMatch4        2.08      (4.9%)        5.74     (14.2%)  
175.3% ( 148% -  204%)
     Low4MinShouldMatch2       10.18      (8.7%)       48.51     (16.3%)  
376.5% ( 323% -  439%)
     Low3MinShouldMatch3        4.50      (5.9%)       40.66     (26.7%)  
804.3% ( 728% -  889%)
     Low4MinShouldMatch3       10.22      (8.7%)      151.37     (62.2%) 
1380.9% (1204% - 1590%)
     Low2MinShouldMatch4        2.71      (5.6%)       45.36     (43.9%) 
1574.3% (1443% - 1720%)
     Low4MinShouldMatch4       10.22      (8.7%)      222.35     (93.0%) 
2075.6% (1816% - 2383%)
     Low3MinShouldMatch4        4.50      (5.8%)      206.42    (197.7%) 
4486.1% (4047% - 4979%)
{noformat}
                
> speedup disjunction with minShouldMatch 
> ----------------------------------------
>
>                 Key: LUCENE-4571
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4571
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/search
>    Affects Versions: 4.1
>            Reporter: Mikhail Khludnev
>         Attachments: LUCENE-4571.patch, LUCENE-4571.patch, LUCENE-4571.patch, 
> LUCENE-4571.patch, LUCENE-4571.patch, LUCENE-4571.patch
>
>
> even minShouldMatch is supplied to DisjunctionSumScorer it enumerates whole 
> disjunction, and verifies minShouldMatch condition [on every 
> doc|https://github.com/apache/lucene-solr/blob/trunk/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java#L70]:
> {code}
>   public int nextDoc() throws IOException {
>     assert doc != NO_MORE_DOCS;
>     while(true) {
>       while (subScorers[0].docID() == doc) {
>         if (subScorers[0].nextDoc() != NO_MORE_DOCS) {
>           heapAdjust(0);
>         } else {
>           heapRemoveRoot();
>           if (numScorers < minimumNrMatchers) {
>             return doc = NO_MORE_DOCS;
>           }
>         }
>       }
>       afterNext();
>       if (nrMatchers >= minimumNrMatchers) {
>         break;
>       }
>     }
>     
>     return doc;
>   }
> {code}
> [~spo] proposes (as well as I get it) to pop nrMatchers-1 scorers from the 
> heap first, and then push them back advancing behind that top doc. For me the 
> question no.1 is there a performance test for minShouldMatch constrained 
> disjunction. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to