You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by gs...@apache.org on 2021/08/06 19:57:16 UTC
[lucene] branch main updated: Slight improvement/optimization to
duplicate facet value checking (ref: LUCENE-9964) (#234)
This is an automated email from the ASF dual-hosted git repository.
gsmiller pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/lucene.git
The following commit(s) were added to refs/heads/main by this push:
new 3037e33 Slight improvement/optimization to duplicate facet value checking (ref: LUCENE-9964) (#234)
3037e33 is described below
commit 3037e33025f79b93e0f100f851155be23eda96ee
Author: Greg Miller <gs...@gmail.com>
AuthorDate: Fri Aug 6 12:57:09 2021 -0700
Slight improvement/optimization to duplicate facet value checking (ref: LUCENE-9964) (#234)
---
.../java/org/apache/lucene/facet/LongValueFacetCounts.java | 12 ++++++------
.../java/org/apache/lucene/facet/range/RangeFacetCounts.java | 7 ++++++-
2 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/LongValueFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/LongValueFacetCounts.java
index 71ec7ca..864e226 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/LongValueFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/LongValueFacetCounts.java
@@ -162,14 +162,14 @@ public class LongValueFacetCounts extends Facets {
if (limit > 0) {
totCount++;
}
- long previousValue = 0;
+ long previousValue = -1;
for (int i = 0; i < limit; i++) {
long value = multiValues.nextValue();
// do not increment the count for duplicate values
- if (i == 0 || value != previousValue) {
+ if (value != previousValue) {
increment(value);
+ previousValue = value;
}
- previousValue = value;
}
}
}
@@ -214,14 +214,14 @@ public class LongValueFacetCounts extends Facets {
if (limit > 0) {
totCount++;
}
- long previousValue = 0;
+ long previousValue = -1;
for (int i = 0; i < limit; i++) {
long value = multiValues.nextValue();
// do not increment the count for duplicate values
- if (i == 0 || value != previousValue) {
+ if (value != previousValue) {
increment(value);
+ previousValue = value;
}
- previousValue = value;
}
}
}
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java b/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java
index 29461f0..3f56c78 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/range/RangeFacetCounts.java
@@ -193,8 +193,13 @@ abstract class RangeFacetCounts extends Facets {
totCount++;
} else {
counter.startMultiValuedDoc();
+ long previous = -1;
for (int j = 0; j < limit; j++) {
- counter.addMultiValued(mapDocValue(multiValues.nextValue()));
+ long val = mapDocValue(multiValues.nextValue());
+ if (val != previous) {
+ counter.addMultiValued(val);
+ previous = val;
+ }
}
if (counter.endMultiValuedDoc()) {
totCount++;