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);
+      }
     }
   }
 }

Reply via email to