List of usage examples for org.apache.lucene.util English longToEnglish
public static String longToEnglish(long i)
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(); } }