[
https://issues.apache.org/jira/browse/LUCENE-6815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adrien Grand updated LUCENE-6815:
---------------------------------
Attachment: LUCENE-6815.patch
Updated patch. This now leverages the new matchCost() API in order to match sub
scorers by order of cost. Unfortunately regular disjunctions get a bit slower
with this patch:
(bulk scoring has been disabled for this run)
{noformat}
TaskQPS baseline StdDev QPS patch StdDev
Pct diff
OrHighLow 60.64 (4.8%) 57.41 (4.0%)
-5.3% ( -13% - 3%)
OrHighHigh 17.07 (4.2%) 16.27 (3.5%)
-4.7% ( -11% - 3%)
OrHighMed 66.59 (5.1%) 63.57 (3.6%)
-4.5% ( -12% - 4%)
Fuzzy1 52.48 (6.8%) 51.35 (8.0%)
-2.2% ( -15% - 13%)
Fuzzy2 61.04 (19.3%) 59.90 (18.5%)
-1.9% ( -33% - 44%)
OrHighNotHigh 65.22 (2.7%) 64.84 (3.4%)
-0.6% ( -6% - 5%)
OrHighNotMed 50.97 (3.8%) 50.71 (4.1%)
-0.5% ( -8% - 7%)
HighTerm 68.99 (3.7%) 68.64 (4.0%)
-0.5% ( -7% - 7%)
OrNotHighMed 238.28 (2.3%) 237.43 (2.7%)
-0.4% ( -5% - 4%)
LowTerm 667.00 (5.0%) 664.74 (5.5%)
-0.3% ( -10% - 10%)
AndHighHigh 33.10 (1.4%) 33.01 (1.7%)
-0.3% ( -3% - 2%)
MedTerm 185.93 (3.5%) 185.42 (3.8%)
-0.3% ( -7% - 7%)
Wildcard 40.77 (3.8%) 40.67 (4.6%)
-0.2% ( -8% - 8%)
HighPhrase 38.55 (2.7%) 38.48 (2.6%)
-0.2% ( -5% - 5%)
OrHighNotLow 37.43 (3.7%) 37.38 (4.4%)
-0.1% ( -7% - 8%)
HighSloppyPhrase 17.66 (2.6%) 17.64 (2.6%)
-0.1% ( -5% - 5%)
LowPhrase 48.82 (1.1%) 48.81 (1.8%)
-0.0% ( -2% - 2%)
HighSpanNear 13.84 (2.8%) 13.83 (2.7%)
-0.0% ( -5% - 5%)
OrNotHighHigh 55.47 (2.5%) 55.53 (2.3%)
0.1% ( -4% - 4%)
MedPhrase 167.70 (3.0%) 167.86 (3.5%)
0.1% ( -6% - 6%)
MedSloppyPhrase 30.44 (1.7%) 30.49 (1.7%)
0.2% ( -3% - 3%)
LowSloppyPhrase 72.06 (1.5%) 72.23 (1.2%)
0.2% ( -2% - 3%)
LowSpanNear 23.84 (2.2%) 23.96 (2.5%)
0.5% ( -4% - 5%)
IntNRQ 8.14 (5.3%) 8.19 (5.5%)
0.5% ( -9% - 12%)
AndHighMed 216.29 (1.8%) 217.53 (1.8%)
0.6% ( -2% - 4%)
AndHighLow 882.75 (7.1%) 887.86 (9.3%)
0.6% ( -14% - 18%)
MedSpanNear 47.85 (2.9%) 48.14 (3.0%)
0.6% ( -5% - 6%)
Prefix3 33.98 (3.9%) 34.22 (4.0%)
0.7% ( -6% - 8%)
OrNotHighLow 757.50 (5.0%) 763.60 (5.5%)
0.8% ( -9% - 11%)
Respell 61.43 (3.3%) 61.94 (2.7%)
0.8% ( -5% - 7%)
{noformat}
I'll look into how I can fix it.
> Should DisjunctionScorer advance more lazily?
> ---------------------------------------------
>
> Key: LUCENE-6815
> URL: https://issues.apache.org/jira/browse/LUCENE-6815
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Adrien Grand
> Assignee: Adrien Grand
> Priority: Minor
> Attachments: LUCENE-6815.patch, LUCENE-6815.patch
>
>
> Today if you call DisjunctionScorer.advance(X), it will try to advance all
> sub scorers to X. However, if DisjunctionScorer is being intersected with
> another scorer (which is almost always the case as we use BooleanScorer for
> top-level disjunctions), we could stop as soon as we find one matching sub
> scorer, and only advance the remaining sub scorers when freq() or score() is
> called.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]