summaryrefslogtreecommitdiff
path: root/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java')
-rw-r--r--core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java48
1 files changed, 19 insertions, 29 deletions
diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java b/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java
index c594427b7e..1ae6197c54 100644
--- a/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java
+++ b/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java
@@ -18,8 +18,8 @@
*/
package org.elasticsearch.index.fielddata.ordinals;
-import org.apache.lucene.index.RandomAccessOrds;
import org.apache.lucene.index.SortedDocValues;
+import org.apache.lucene.index.SortedSetDocValues;
import org.apache.lucene.util.packed.PackedInts;
import org.elasticsearch.index.fielddata.FieldData;
import org.elasticsearch.search.MultiValueMode;
@@ -102,7 +102,7 @@ public class MultiOrdinalsTests extends ESTestCase {
}
});
Ordinals ords = creationMultiOrdinals(builder);
- RandomAccessOrds docs = ords.ordinals();
+ SortedSetDocValues docs = ords.ordinals();
final SortedDocValues singleOrds = MultiValueMode.MIN.select(docs);
int docId = ordsAndIds.get(0).id;
List<Long> docOrds = new ArrayList<>();
@@ -111,22 +111,18 @@ public class MultiOrdinalsTests extends ESTestCase {
docOrds.add(ordAndId.ord);
} else {
if (!docOrds.isEmpty()) {
- assertThat((long) singleOrds.getOrd(docId), equalTo(docOrds.get(0)));
+ assertTrue(singleOrds.advanceExact(docId));
+ assertThat((long) singleOrds.ordValue(), equalTo(docOrds.get(0)));
- docs.setDocument(docId);
- final int numOrds = docs.cardinality();
- assertThat(numOrds, equalTo(docOrds.size()));
- for (int i = 0; i < numOrds; i++) {
- assertThat(docs.nextOrd(), equalTo(docOrds.get(i)));
+ assertTrue(docs.advanceExact(docId));
+ for (Long ord : docOrds) {
+ assertThat(docs.nextOrd(), equalTo(ord));
}
- final long[] array = new long[docOrds.size()];
- for (int i = 0; i < array.length; i++) {
- array[i] = docOrds.get(i);
- }
- assertIter(docs, docId, array);
+ assertEquals(SortedSetDocValues.NO_MORE_ORDS, docs.nextOrd());
}
for (int i = docId + 1; i < ordAndId.id; i++) {
- assertThat((long) singleOrds.getOrd(i), equalTo(RandomAccessOrds.NO_MORE_ORDS));
+ assertFalse(singleOrds.advanceExact(i));
+ assertFalse(docs.advanceExact(i));
}
docId = ordAndId.id;
docOrds.clear();
@@ -209,18 +205,10 @@ public class MultiOrdinalsTests extends ESTestCase {
};
Ordinals ordinals = creationMultiOrdinals(builder);
- RandomAccessOrds docs = ordinals.ordinals();
+ SortedSetDocValues docs = ordinals.ordinals();
assertEquals(docs, ordinalPlan);
}
- protected static void assertIter(RandomAccessOrds docs, int docId, long... expectedOrdinals) {
- docs.setDocument(docId);
- assertThat(docs.cardinality(), equalTo(expectedOrdinals.length));
- for (long expectedOrdinal : expectedOrdinals) {
- assertThat(docs.nextOrd(), equalTo(expectedOrdinal));
- }
- }
-
public void testMultiValuesDocsWithOverlappingStorageArrays() throws Exception {
int maxDoc = 7;
long maxOrds = 15;
@@ -261,11 +249,11 @@ public class MultiOrdinalsTests extends ESTestCase {
};
Ordinals ordinals = new MultiOrdinals(builder, PackedInts.FASTEST);
- RandomAccessOrds docs = ordinals.ordinals();
+ SortedSetDocValues docs = ordinals.ordinals();
assertEquals(docs, ordinalPlan);
}
- private void assertEquals(RandomAccessOrds docs, long[][] ordinalPlan) {
+ private void assertEquals(SortedSetDocValues docs, long[][] ordinalPlan) throws IOException {
long maxOrd = 0;
for (int doc = 0; doc < ordinalPlan.length; ++doc) {
if (ordinalPlan[doc].length > 0) {
@@ -276,10 +264,12 @@ public class MultiOrdinalsTests extends ESTestCase {
assertThat(FieldData.isMultiValued(docs), equalTo(true));
for (int doc = 0; doc < ordinalPlan.length; ++doc) {
long[] ords = ordinalPlan[doc];
- docs.setDocument(doc);
- assertThat(docs.cardinality(), equalTo(ords.length));
- for (int i = 0; i < ords.length; ++i) {
- assertThat(docs.ordAt(i), equalTo(ords[i]));
+ assertEquals(ords.length > 0, docs.advanceExact(doc));
+ if (ords.length > 0) {
+ for (long ord : ords) {
+ assertThat(docs.nextOrd(), equalTo(ord));
+ }
+ assertThat(docs.nextOrd(), equalTo(SortedSetDocValues.NO_MORE_ORDS));
}
}
}