This is an automated email from the ASF dual-hosted git repository.
ishan pushed a commit to branch ishan/upgrade-to-lucene-10
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/ishan/upgrade-to-lucene-10 by
this push:
new 266dae8e88c More ords handling fixed, passing TestJsonFacets now
266dae8e88c is described below
commit 266dae8e88c619189ea19d8113c06cd4c8f74f75
Author: Ishan Chattopadhyaya <[email protected]>
AuthorDate: Thu Jan 23 11:38:49 2025 +0530
More ords handling fixed, passing TestJsonFacets now
---
.../apache/solr/search/facet/FacetFieldProcessorByArrayDV.java | 9 +++------
.../java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.java | 4 ++--
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git
a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByArrayDV.java
b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByArrayDV.java
index 6dde1e24c85..41b89ef3451 100644
---
a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByArrayDV.java
+++
b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessorByArrayDV.java
@@ -272,9 +272,8 @@ class FacetFieldProcessorByArrayDV extends
FacetFieldProcessorByArray {
while ((doc = disi.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
if (multiDv.advanceExact(doc)) {
final int maxIdx = disi.registerCounts(segCounter);
- for (; ; ) {
+ for (int o=0; o<multiDv.docValueCount(); o++) {
int segOrd = (int) multiDv.nextOrd();
- if (segOrd < 0) break;
segCounter.incrementCount(segOrd, 1, maxIdx);
}
}
@@ -369,9 +368,8 @@ class FacetFieldProcessorByArrayDV extends
FacetFieldProcessorByArray {
if (multiDv.advanceExact(doc)) {
final int maxIdx = disi.registerCounts(segCounter);
final boolean collectBase = disi.collectBase();
- for (; ; ) {
+ for (int o=0; o<multiDv.docValueCount(); o++) {
int segOrd = (int) multiDv.nextOrd();
- if (segOrd < 0) break;
collect(doc, segOrd, toGlobal, segCounter, maxIdx, collectBase);
}
}
@@ -385,9 +383,8 @@ class FacetFieldProcessorByArrayDV extends
FacetFieldProcessorByArray {
while ((doc = disi.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
if (multiDv.advanceExact(doc)) {
final int maxIdx = disi.registerCounts(segCounter);
- for (; ; ) {
+ for (int o=0; o<multiDv.docValueCount(); o++) {
int segOrd = (int) multiDv.nextOrd();
- if (segOrd < 0) break;
int ord = (int) toGlobal.get(segOrd);
segCounter.incrementCount(ord, 1, maxIdx);
}
diff --git
a/solr/core/src/java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.java
b/solr/core/src/java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.java
index 4670bc54b31..62170f4662a 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/UniqueMultiDvSlotAcc.java
@@ -85,11 +85,11 @@ class UniqueMultiDvSlotAcc extends UniqueSlotAcc {
arr[slotNum] = bits;
}
- do {
+ for(int o=0; o<subDv.docValueCount(); o++) { // nocommit verify if this
is correct
int ord = toGlobal == null ? segOrd : (int) toGlobal.get(segOrd);
bits.set(ord);
segOrd = (int) subDv.nextOrd();
- } while (segOrd >= 0);
+ }
}
}
}