[
https://issues.apache.org/jira/browse/LUCENE-4396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14100596#comment-14100596
]
Michael McCandless commented on LUCENE-4396:
--------------------------------------------
And.tasks perf:
{noformat}
Report after iter 19:
Task QPS base StdDev QPS comp StdDev
Pct diff
HighAnd5LowNot 15.44 (5.9%) 14.86 (1.8%)
-3.8% ( -10% - 4%)
HighAnd5HighNot 2.95 (2.0%) 2.93 (1.1%)
-0.8% ( -3% - 2%)
HighAnd60LowNot 2.18 (1.9%) 2.17 (1.5%)
-0.5% ( -3% - 2%)
LowAnd5HighNot 11.21 (2.0%) 11.17 (1.8%)
-0.3% ( -4% - 3%)
LowAnd5HighOr 16.29 (2.5%) 16.27 (2.1%)
-0.1% ( -4% - 4%)
LowAnd5LowNot 46.98 (3.1%) 47.02 (2.3%)
0.1% ( -5% - 5%)
HighAnd60LowOr 2.00 (2.1%) 2.01 (1.6%)
0.3% ( -3% - 3%)
HighAnd5HighOr 2.71 (2.9%) 2.73 (1.4%)
1.0% ( -3% - 5%)
HighAnd5LowOr 16.17 (10.5%) 16.49 (2.6%)
2.0% ( -10% - 16%)
LowAnd5LowOr 45.06 (4.2%) 46.11 (3.2%)
2.3% ( -4% - 10%)
LowAnd60HighNot 1.03 (1.8%) 1.59 (3.4%)
53.4% ( 47% - 59%)
LowAnd60HighOr 0.87 (1.7%) 1.44 (3.7%)
64.7% ( 58% - 71%)
LowAnd60LowNot 3.55 (2.1%) 6.68 (3.3%)
88.2% ( 81% - 95%)
LowAnd60LowOr 3.66 (1.6%) 7.05 (3.6%)
92.5% ( 85% - 99%)
HighAnd60HighNot 0.19 (2.1%) 0.39 (3.8%)
106.4% ( 98% - 114%)
HighAnd60HighOr 0.15 (1.6%) 0.34 (3.2%)
119.0% ( 112% - 125%)
{noformat}
> BooleanScorer should sometimes be used for MUST clauses
> -------------------------------------------------------
>
> Key: LUCENE-4396
> URL: https://issues.apache.org/jira/browse/LUCENE-4396
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Michael McCandless
> Attachments: And.tasks, And.tasks, AndOr.tasks, AndOr.tasks,
> LUCENE-4396-simple.patch, LUCENE-4396-simple.patch, LUCENE-4396-simple.patch,
> LUCENE-4396-simple.patch, LUCENE-4396.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch, LUCENE-4396.patch,
> LUCENE-4396.patch, LUCENE-4396.patch, SIZE.perf, all.perf,
> luceneutil-score-equal.patch, luceneutil-score-equal.patch,
> merge-simple.perf, merge-simple.png, merge.perf, merge.png, perf.png,
> stat.cpp, stat.cpp, tasks.cpp
>
>
> Today we only use BooleanScorer if the query consists of SHOULD and MUST_NOT.
> If there is one or more MUST clauses we always use BooleanScorer2.
> But I suspect that unless the MUST clauses have very low hit count compared
> to the other clauses, that BooleanScorer would perform better than
> BooleanScorer2. BooleanScorer still has some vestiges from when it used to
> handle MUST so it shouldn't be hard to bring back this capability ... I think
> the challenging part might be the heuristics on when to use which (likely we
> would have to use firstDocID as proxy for total hit count).
> Likely we should also have BooleanScorer sometimes use .advance() on the subs
> in this case, eg if suddenly the MUST clause skips 1000000 docs then you want
> to .advance() all the SHOULD clauses.
> I won't have near term time to work on this so feel free to take it if you
> are inspired!
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]