Example usage for org.apache.lucene.util English longToEnglish

List of usage examples for org.apache.lucene.util English longToEnglish

Introduction

In this page you can find the example usage for org.apache.lucene.util English longToEnglish.

Prototype

public static String longToEnglish(long i) 

Source Link

Usage

From source file:org.elasticsearch.index.fielddata.DuelFieldDataTests.java

License:Apache License

@Test
public void testDuelStrings() throws Exception {
    Random random = getRandom();//from ww  w.j a  va  2 s.co  m
    int atLeast = atLeast(random, 1000);
    for (int i = 0; i < atLeast; i++) {
        Document d = new Document();
        d.add(new StringField("_id", "" + i, Field.Store.NO));
        if (random.nextInt(15) != 0) {
            int[] numbers = getNumbers(random, Integer.MAX_VALUE);
            for (int j : numbers) {
                final String s = English.longToEnglish(j);
                d.add(new StringField("bytes", s, Field.Store.NO));
                if (LuceneTestCase.defaultCodecSupportsSortedSet()) {
                    d.add(new SortedSetDocValuesField("bytes", new BytesRef(s)));
                }
            }
            if (random.nextInt(10) == 0) {
                d.add(new StringField("bytes", "", Field.Store.NO));
                if (LuceneTestCase.defaultCodecSupportsSortedSet()) {
                    d.add(new SortedSetDocValuesField("bytes", new BytesRef()));
                }
            }
        }
        writer.addDocument(d);
        if (random.nextInt(10) == 0) {
            refreshReader();
        }
    }
    AtomicReaderContext context = refreshReader();
    Map<FieldDataType, Type> typeMap = new HashMap<FieldDataType, DuelFieldDataTests.Type>();
    typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "fst")), Type.Bytes);
    typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "paged_bytes")),
            Type.Bytes);
    if (LuceneTestCase.defaultCodecSupportsSortedSet()) {
        typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "doc_values")),
                Type.Bytes);
    }
    // TODO add filters
    ArrayList<Entry<FieldDataType, Type>> list = new ArrayList<Entry<FieldDataType, Type>>(typeMap.entrySet());
    Preprocessor pre = new Preprocessor();
    while (!list.isEmpty()) {
        Entry<FieldDataType, Type> left;
        Entry<FieldDataType, Type> right;
        if (list.size() > 1) {
            left = list.remove(random.nextInt(list.size()));
            right = list.remove(random.nextInt(list.size()));
        } else {
            right = left = list.remove(0);
        }
        ifdService.clear();
        IndexFieldData<?> leftFieldData = getForField(left.getKey(),
                left.getValue().name().toLowerCase(Locale.ROOT));

        ifdService.clear();
        IndexFieldData<?> rightFieldData = getForField(right.getKey(),
                right.getValue().name().toLowerCase(Locale.ROOT));

        duelFieldDataBytes(random, context, leftFieldData, rightFieldData, pre);
        duelFieldDataBytes(random, context, rightFieldData, leftFieldData, pre);

        DirectoryReader perSegment = DirectoryReader.open(writer, true);
        CompositeReaderContext composite = perSegment.getContext();
        List<AtomicReaderContext> leaves = composite.leaves();
        for (AtomicReaderContext atomicReaderContext : leaves) {
            assertOrder(AtomicFieldData.Order.BYTES, leftFieldData, atomicReaderContext);
            assertOrder(AtomicFieldData.Order.BYTES, rightFieldData, atomicReaderContext);
            duelFieldDataBytes(random, atomicReaderContext, leftFieldData, rightFieldData, pre);
        }
        perSegment.close();
    }

}

From source file:org.elasticsearch.test.unit.index.fielddata.DuellFieldDataTest.java

License:Apache License

@Test
public void testDuellStrings() throws Exception {
    long seed = System.currentTimeMillis();
    System.out.println("SEED[testDuellStrings]: " + seed);
    Random random = new Random(seed);
    int atLeast = atLeast(random, 1000);
    for (int i = 0; i < atLeast; i++) {
        Document d = new Document();
        d.add(new StringField("_id", "" + i, Field.Store.NO));
        if (random.nextInt(15) != 0) {
            int[] numbers = getNumbers(random, Integer.MAX_VALUE);
            for (int j : numbers) {
                d.add(new StringField("bytes", English.longToEnglish(j), Field.Store.NO));
            }/*  w  ww .  ja va2 s.co m*/
            if (random.nextInt(10) == 0) {
                d.add(new StringField("bytes", "", Field.Store.NO));
            }
        }
        writer.addDocument(d);
        if (random.nextInt(10) == 0) {
            refreshReader();
        }
    }
    AtomicReaderContext context = refreshReader();
    Map<FieldDataType, Type> typeMap = new HashMap<FieldDataType, DuellFieldDataTest.Type>();
    typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "fst")), Type.Bytes);
    typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "paged_bytes")),
            Type.Bytes);
    typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "concrete_bytes")),
            Type.Bytes);
    // TODO add filters
    ArrayList<Entry<FieldDataType, Type>> list = new ArrayList<Entry<FieldDataType, Type>>(typeMap.entrySet());
    Preprocessor pre = new Preprocessor();
    while (!list.isEmpty()) {
        Entry<FieldDataType, Type> left;
        Entry<FieldDataType, Type> right;
        if (list.size() > 1) {
            left = list.remove(random.nextInt(list.size()));
            right = list.remove(random.nextInt(list.size()));
        } else {
            right = left = list.remove(0);
        }
        ifdService.clear();
        IndexFieldData leftFieldData = ifdService
                .getForField(new FieldMapper.Names(left.getValue().name().toLowerCase()), left.getKey());
        ifdService.clear();
        IndexFieldData rightFieldData = ifdService
                .getForField(new FieldMapper.Names(right.getValue().name().toLowerCase()), right.getKey());
        duellFieldDataBytes(random, context, leftFieldData, rightFieldData, pre);
        duellFieldDataBytes(random, context, rightFieldData, leftFieldData, pre);

        DirectoryReader perSegment = DirectoryReader.open(writer, true);
        CompositeReaderContext composite = perSegment.getContext();
        List<AtomicReaderContext> leaves = composite.leaves();
        for (AtomicReaderContext atomicReaderContext : leaves) {
            duellFieldDataBytes(random, atomicReaderContext, leftFieldData, rightFieldData, pre);
        }
        perSegment.close();
    }

}

From source file:org.elasticsearch.test.unit.index.fielddata.DuellFieldDataTests.java

License:Apache License

@Test
public void testDuellStrings() throws Exception {
    Random random = getRandom();/*w w  w.j a v  a  2 s.  c om*/
    int atLeast = atLeast(random, 1000);
    for (int i = 0; i < atLeast; i++) {
        Document d = new Document();
        d.add(new StringField("_id", "" + i, Field.Store.NO));
        if (random.nextInt(15) != 0) {
            int[] numbers = getNumbers(random, Integer.MAX_VALUE);
            for (int j : numbers) {
                d.add(new StringField("bytes", English.longToEnglish(j), Field.Store.NO));
            }
            if (random.nextInt(10) == 0) {
                d.add(new StringField("bytes", "", Field.Store.NO));
            }
        }
        writer.addDocument(d);
        if (random.nextInt(10) == 0) {
            refreshReader();
        }
    }
    AtomicReaderContext context = refreshReader();
    Map<FieldDataType, Type> typeMap = new HashMap<FieldDataType, DuellFieldDataTests.Type>();
    typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "fst")), Type.Bytes);
    typeMap.put(new FieldDataType("string", ImmutableSettings.builder().put("format", "paged_bytes")),
            Type.Bytes);
    // TODO add filters
    ArrayList<Entry<FieldDataType, Type>> list = new ArrayList<Entry<FieldDataType, Type>>(typeMap.entrySet());
    Preprocessor pre = new Preprocessor();
    while (!list.isEmpty()) {
        Entry<FieldDataType, Type> left;
        Entry<FieldDataType, Type> right;
        if (list.size() > 1) {
            left = list.remove(random.nextInt(list.size()));
            right = list.remove(random.nextInt(list.size()));
        } else {
            right = left = list.remove(0);
        }
        ifdService.clear();
        IndexFieldData leftFieldData = ifdService.getForField(
                new FieldMapper.Names(left.getValue().name().toLowerCase(Locale.ROOT)), left.getKey());
        ifdService.clear();
        IndexFieldData rightFieldData = ifdService.getForField(
                new FieldMapper.Names(right.getValue().name().toLowerCase(Locale.ROOT)), right.getKey());
        duellFieldDataBytes(random, context, leftFieldData, rightFieldData, pre);
        duellFieldDataBytes(random, context, rightFieldData, leftFieldData, pre);

        DirectoryReader perSegment = DirectoryReader.open(writer, true);
        CompositeReaderContext composite = perSegment.getContext();
        List<AtomicReaderContext> leaves = composite.leaves();
        for (AtomicReaderContext atomicReaderContext : leaves) {
            duellFieldDataBytes(random, atomicReaderContext, leftFieldData, rightFieldData, pre);
        }
        perSegment.close();
    }

}