You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "jpountz (via GitHub)" <gi...@apache.org> on 2025/03/16 21:09:26 UTC
[PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
jpountz opened a new pull request, #14359:
URL: https://github.com/apache/lucene/pull/14359
The main motivation is to efficiently evaluate range queries on fields that have a doc-value index enabled. These range queries produce two-phase iterators that should match large contiguous range of doc IDs. Using `DenseConjunctionBulkScorer` helps skip these clauses from the conjunction on doc ID ranges that they fully match.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r2010628644
##########
lucene/core/src/java/org/apache/lucene/search/DocValuesRangeIterator.java:
##########
@@ -210,6 +210,14 @@ public final boolean matches() throws IOException {
};
}
+ @Override
+ public int docIDRunEnd() throws IOException {
Review Comment:
We have tests for the `upTo` variable, which is almost the same thing. I'll improve the test to cover `#docIdRunEnd()` at the same time.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "gf2121 (via GitHub)" <gi...@apache.org>.
gf2121 commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r2010115706
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,79 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
Review Comment:
Can we make this static?
##########
lucene/core/src/java/org/apache/lucene/search/DocValuesRangeIterator.java:
##########
@@ -210,6 +210,14 @@ public final boolean matches() throws IOException {
};
}
+ @Override
+ public int docIDRunEnd() throws IOException {
Review Comment:
Do we have/need any tests against this implementation?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "gf2121 (via GitHub)" <gi...@apache.org>.
gf2121 commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r2010045743
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
+ LeafCollector collector,
+ Bits acceptDocs,
+ List<DocIdSetIterator> approximations,
+ List<TwoPhaseIterator> twoPhases,
+ int min,
+ int max)
+ throws IOException {
+ if (approximations.size() == 1) {
+ // Since a TwoPhaseIterator comes with its approximation, the number of approximations is gte
+ // the number of TwoPhaseIterators
+ assert twoPhases.size() <= 1;
+ TwoPhaseIterator twoPhase = twoPhases.get(0);
+ DocIdSetIterator approximation = approximations.isEmpty() ? null : approximations.get(0);
Review Comment:
Thank you, that makes sense to me.
The code diff looks a bit crazy ..
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r2010047831
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
+ LeafCollector collector,
+ Bits acceptDocs,
+ List<DocIdSetIterator> approximations,
+ List<TwoPhaseIterator> twoPhases,
+ int min,
+ int max)
+ throws IOException {
+ if (approximations.size() == 1) {
+ // Since a TwoPhaseIterator comes with its approximation, the number of approximations is gte
+ // the number of TwoPhaseIterators
+ assert twoPhases.size() <= 1;
+ TwoPhaseIterator twoPhase = twoPhases.get(0);
+ DocIdSetIterator approximation = approximations.isEmpty() ? null : approximations.get(0);
Review Comment:
Indeed, it looks like my last push broke something. I'll look into it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r2010621926
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,79 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
Review Comment:
Yes indeed!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r1998546217
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
Review Comment:
The contract is that `TwoPhaseIterator#matches()` verifies if the current doc ID of the approximation matches. So we cannot load matches from the approximation into a bit set and then call `matches()` as it wouldn't check the correct doc ID. We could change the API, but I'm not sure if that would buy anything as our most typical two-phase iterator, PhraseQuery, is similar: `PostingsEnum#nextPosition()` reads the next position of the current doc ID.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r1998546819
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
+ LeafCollector collector,
+ Bits acceptDocs,
+ List<DocIdSetIterator> approximations,
+ List<TwoPhaseIterator> twoPhases,
+ int min,
+ int max)
+ throws IOException {
+ if (approximations.size() == 1) {
+ // Since a TwoPhaseIterator comes with its approximation, the number of approximations is gte
+ // the number of TwoPhaseIterators
+ assert twoPhases.size() <= 1;
+ TwoPhaseIterator twoPhase = twoPhases.get(0);
+ DocIdSetIterator approximation = approximations.isEmpty() ? null : approximations.get(0);
Review Comment:
Hmm, you're right. This means I'm missing a test case. I'll look into it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "gf2121 (via GitHub)" <gi...@apache.org>.
gf2121 commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r1998596143
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
Review Comment:
> The contract is that TwoPhaseIterator#matches() verifies if the current doc ID of the approximation matches.
Oh yes, you are right. Thanks for explanation!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz merged PR #14359:
URL: https://github.com/apache/lucene/pull/14359
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "gf2121 (via GitHub)" <gi...@apache.org>.
gf2121 commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r1998219212
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
+ LeafCollector collector,
+ Bits acceptDocs,
+ List<DocIdSetIterator> approximations,
+ List<TwoPhaseIterator> twoPhases,
+ int min,
+ int max)
+ throws IOException {
+ if (approximations.size() == 1) {
+ // Since a TwoPhaseIterator comes with its approximation, the number of approximations is gte
+ // the number of TwoPhaseIterators
+ assert twoPhases.size() <= 1;
+ TwoPhaseIterator twoPhase = twoPhases.get(0);
+ DocIdSetIterator approximation = approximations.isEmpty() ? null : approximations.get(0);
Review Comment:
```suggestion
DocIdSetIterator approximation = approximations.get(0);
TwoPhaseIterator twoPhase = twoPhases.isEmpty() ? null : twoPhases.get(0);
```
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
Review Comment:
Out of curiosity: why we are choosing such a per-doc conjunction algorithm instead of scoring approximations into a bitset and check `matches` for existing bits? Actually i also thought about something like `IndexedDISI#intoBitset` to speed up range queries on sparse doc values :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "gf2121 (via GitHub)" <gi...@apache.org>.
gf2121 commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r1998258104
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
Review Comment:
Out of curiosity: why we are choosing such a per-doc conjunction algorithm instead of scoring approximations into a bitset and check `matches` for existing bits? Actually i also thought about something like `IndexedDISI#intoBitset` to speed up range queries on `Match.IF_DOC_HAS_VALUE` :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r2010057350
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
+ LeafCollector collector,
+ Bits acceptDocs,
+ List<DocIdSetIterator> approximations,
+ List<TwoPhaseIterator> twoPhases,
+ int min,
+ int max)
+ throws IOException {
+ if (approximations.size() == 1) {
+ // Since a TwoPhaseIterator comes with its approximation, the number of approximations is gte
+ // the number of TwoPhaseIterators
+ assert twoPhases.size() <= 1;
+ TwoPhaseIterator twoPhase = twoPhases.get(0);
+ DocIdSetIterator approximation = approximations.isEmpty() ? null : approximations.get(0);
Review Comment:
I think I fixed it but I had to force-push.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on code in PR #14359:
URL: https://github.com/apache/lucene/pull/14359#discussion_r2010038886
##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -238,9 +296,77 @@ private void scoreWindowUsingBitSet(
windowMatches.clear();
}
+ private void scoreWindowUsingLeapFrog(
+ LeafCollector collector,
+ Bits acceptDocs,
+ List<DocIdSetIterator> approximations,
+ List<TwoPhaseIterator> twoPhases,
+ int min,
+ int max)
+ throws IOException {
+ if (approximations.size() == 1) {
+ // Since a TwoPhaseIterator comes with its approximation, the number of approximations is gte
+ // the number of TwoPhaseIterators
+ assert twoPhases.size() <= 1;
+ TwoPhaseIterator twoPhase = twoPhases.get(0);
+ DocIdSetIterator approximation = approximations.isEmpty() ? null : approximations.get(0);
Review Comment:
I ended up adding an assertion instead, since this code path is only used when there is at least one two-phase iterator.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org
Re: [PR] Add support for two-phase iterators to DenseConjunctionBulkScorer. [lucene]
Posted by "jpountz (via GitHub)" <gi...@apache.org>.
jpountz commented on PR #14359:
URL: https://github.com/apache/lucene/pull/14359#issuecomment-2727649234
This doesn't slow down existing tasks significantly, including `CountFilteredPhrase` which now runs with `DenseConjunctionBulkScorer` vs. a `DefaultBulkScorer` on top of a `ConjunctionScorer` before.
```
TaskQPS baseline StdDevQPS my_modified_version StdDev Pct diff p-value
TermMonthSort 3433.89 (3.5%) 3372.95 (2.8%) -1.8% ( -7% - 4%) 0.078
CountFilteredPhrase 25.76 (2.6%) 25.34 (2.6%) -1.6% ( -6% - 3%) 0.048
Wildcard 76.02 (3.6%) 75.31 (3.9%) -0.9% ( -8% - 6%) 0.435
FilteredPrefix3 128.10 (3.3%) 126.96 (2.4%) -0.9% ( -6% - 4%) 0.327
Prefix3 133.76 (3.2%) 132.58 (2.6%) -0.9% ( -6% - 5%) 0.339
OrHighHigh 51.94 (3.4%) 51.49 (3.9%) -0.9% ( -7% - 6%) 0.457
Or3Terms 162.21 (5.8%) 160.85 (5.6%) -0.8% ( -11% - 11%) 0.642
TermTitleSort 141.36 (1.7%) 140.17 (2.3%) -0.8% ( -4% - 3%) 0.201
FilteredIntNRQ 297.20 (2.2%) 295.03 (3.0%) -0.7% ( -5% - 4%) 0.380
Fuzzy2 74.81 (2.9%) 74.30 (2.8%) -0.7% ( -6% - 5%) 0.438
Fuzzy1 79.34 (3.1%) 78.87 (2.9%) -0.6% ( -6% - 5%) 0.541
And3Terms 169.32 (5.3%) 168.32 (4.8%) -0.6% ( -10% - 10%) 0.714
IntNRQ 304.31 (2.2%) 302.66 (2.6%) -0.5% ( -5% - 4%) 0.481
Or2Terms2StopWords 155.77 (5.5%) 154.94 (5.5%) -0.5% ( -10% - 10%) 0.758
TermDayOfYearSort 696.95 (1.9%) 693.32 (2.2%) -0.5% ( -4% - 3%) 0.426
CountAndHighMed 289.64 (1.8%) 288.19 (1.7%) -0.5% ( -3% - 3%) 0.363
OrStopWords 31.68 (9.6%) 31.52 (9.2%) -0.5% ( -17% - 20%) 0.869
AndStopWords 30.55 (8.3%) 30.41 (7.6%) -0.5% ( -15% - 16%) 0.857
OrHighMed 196.20 (2.8%) 195.33 (3.3%) -0.4% ( -6% - 5%) 0.643
And2Terms2StopWords 158.92 (5.3%) 158.23 (4.8%) -0.4% ( -10% - 10%) 0.787
FilteredAndStopWords 55.81 (2.8%) 55.58 (2.2%) -0.4% ( -5% - 4%) 0.606
AndHighMed 131.29 (1.4%) 130.78 (1.2%) -0.4% ( -2% - 2%) 0.349
CountOrHighMed 357.52 (1.7%) 356.16 (1.9%) -0.4% ( -3% - 3%) 0.498
FilteredAnd2Terms2StopWords 200.10 (2.1%) 199.46 (1.5%) -0.3% ( -3% - 3%) 0.585
CountTerm 8915.10 (4.2%) 8887.69 (4.5%) -0.3% ( -8% - 8%) 0.822
CombinedOrHighMed 72.13 (2.5%) 71.95 (2.3%) -0.2% ( -4% - 4%) 0.749
CombinedOrHighHigh 18.78 (2.3%) 18.74 (2.1%) -0.2% ( -4% - 4%) 0.731
DismaxOrHighMed 170.26 (2.1%) 169.93 (1.9%) -0.2% ( -4% - 3%) 0.760
FilteredOrHighMed 154.92 (1.4%) 154.63 (1.3%) -0.2% ( -2% - 2%) 0.649
FilteredOrHighHigh 67.99 (1.9%) 67.86 (1.5%) -0.2% ( -3% - 3%) 0.729
FilteredAndHighMed 130.42 (3.9%) 130.24 (3.4%) -0.1% ( -7% - 7%) 0.902
FilteredTerm 159.19 (2.3%) 158.98 (1.9%) -0.1% ( -4% - 4%) 0.843
FilteredOr2Terms2StopWords 147.78 (1.6%) 147.61 (1.4%) -0.1% ( -3% - 2%) 0.808
FilteredAnd3Terms 188.72 (3.1%) 188.51 (2.5%) -0.1% ( -5% - 5%) 0.898
CountFilteredOrHighMed 116.44 (0.8%) 116.33 (0.9%) -0.1% ( -1% - 1%) 0.747
DismaxOrHighHigh 116.55 (2.9%) 116.47 (2.3%) -0.1% ( -5% - 5%) 0.934
AndHighOrMedMed 46.65 (1.7%) 46.62 (1.7%) -0.1% ( -3% - 3%) 0.899
CountFilteredOrHighHigh 105.35 (1.1%) 105.29 (1.1%) -0.1% ( -2% - 2%) 0.865
FilteredOr3Terms 162.57 (1.6%) 162.48 (1.7%) -0.1% ( -3% - 3%) 0.911
PKLookup 281.03 (1.8%) 280.89 (1.9%) -0.0% ( -3% - 3%) 0.933
TermDTSort 495.36 (2.2%) 495.17 (4.0%) -0.0% ( -6% - 6%) 0.971
CountOrHighHigh 292.14 (2.8%) 292.22 (2.4%) 0.0% ( -5% - 5%) 0.973
FilteredOrMany 17.05 (3.1%) 17.05 (2.8%) 0.0% ( -5% - 6%) 0.971
CountAndHighHigh 296.50 (2.6%) 296.70 (2.1%) 0.1% ( -4% - 4%) 0.927
AndHighHigh 44.75 (1.8%) 44.79 (1.4%) 0.1% ( -3% - 3%) 0.837
CountOrMany 29.03 (3.0%) 29.07 (2.7%) 0.1% ( -5% - 5%) 0.904
AndMedOrHighHigh 66.08 (1.8%) 66.17 (1.7%) 0.1% ( -3% - 3%) 0.818
FilteredAndHighHigh 70.30 (2.3%) 70.39 (2.0%) 0.1% ( -4% - 4%) 0.844
CountFilteredOrMany 25.26 (2.5%) 25.30 (2.1%) 0.2% ( -4% - 4%) 0.820
CountPhrase 4.16 (2.2%) 4.17 (2.6%) 0.2% ( -4% - 5%) 0.820
CombinedAndHighMed 55.64 (2.8%) 55.76 (2.5%) 0.2% ( -4% - 5%) 0.798
CombinedAndHighHigh 15.06 (3.1%) 15.10 (2.6%) 0.3% ( -5% - 6%) 0.768
FilteredOrStopWords 46.47 (2.7%) 46.62 (2.2%) 0.3% ( -4% - 5%) 0.674
DismaxTerm 542.19 (2.5%) 544.34 (2.7%) 0.4% ( -4% - 5%) 0.632
CombinedTerm 30.82 (2.4%) 30.96 (2.4%) 0.4% ( -4% - 5%) 0.570
FilteredPhrase 32.59 (1.9%) 32.75 (1.9%) 0.5% ( -3% - 4%) 0.438
OrMany 18.38 (5.9%) 18.48 (5.5%) 0.6% ( -10% - 12%) 0.752
OrHighRare 269.18 (5.5%) 271.82 (2.2%) 1.0% ( -6% - 9%) 0.455
Phrase 15.27 (6.7%) 15.43 (6.4%) 1.0% ( -11% - 15%) 0.618
Term 462.37 (3.2%) 467.21 (2.8%) 1.0% ( -4% - 7%) 0.273
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org