Example usage for org.apache.lucene.util.packed PackedInts FASTEST

List of usage examples for org.apache.lucene.util.packed PackedInts FASTEST

Introduction

In this page you can find the example usage for org.apache.lucene.util.packed PackedInts FASTEST.

Prototype

float FASTEST

To view the source code for org.apache.lucene.util.packed PackedInts FASTEST.

Click Source Link

Document

At most 700% memory overhead, always select a direct implementation.

Usage

From source file:org.elasticsearch.index.fielddata.ordinals.MultiOrdinalsTests.java

License:Apache License

@Test
public void testMultiValuesDocsWithOverlappingStorageArrays() throws Exception {
    int maxDoc = 7;
    long maxOrds = 15;
    OrdinalsBuilder builder = new OrdinalsBuilder(maxDoc);
    for (int i = 0; i < maxOrds; i++) {
        builder.nextOrdinal();//from   w  w w.  j  a va2  s.  c o  m
        if (i < 10) {
            builder.addDoc(0);
        }
        builder.addDoc(1);
        if (i == 0) {
            builder.addDoc(2);
        }
        if (i < 5) {
            builder.addDoc(3);

        }
        if (i < 6) {
            builder.addDoc(4);

        }
        if (i == 1) {
            builder.addDoc(5);
        }
        if (i < 10) {
            builder.addDoc(6);
        }
    }

    long[][] ordinalPlan = new long[][] { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 },
            { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, { 1 }, { 1, 2, 3, 4, 5 },
            { 1, 2, 3, 4, 5, 6 }, { 2 }, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } };

    Ordinals ordinals = new MultiOrdinals(builder, PackedInts.FASTEST);
    Ordinals.Docs docs = ordinals.ordinals();
    assertEquals(docs, ordinalPlan);
}

From source file:org.elasticsearch.index.fielddata.ordinals.OrdinalsBuilder.java

License:Apache License

/**
 * Builds an {@link Ordinals} instance from the builders current state.
 *///ww w  . ja  v a 2  s.co m
public Ordinals build(Settings settings) {
    final float acceptableOverheadRatio = settings.getAsFloat("acceptable_overhead_ratio", PackedInts.FASTEST);
    if (numMultiValuedDocs > 0 || MultiOrdinals.significantlySmallerThanSinglePackedOrdinals(maxDoc,
            numDocsWithValue, getNumOrds(), acceptableOverheadRatio)) {
        // MultiOrdinals can be smaller than SinglePackedOrdinals for sparse fields
        return new MultiOrdinals(this, acceptableOverheadRatio);
    } else {
        return new SinglePackedOrdinals(this, acceptableOverheadRatio);
    }
}