Example usage for org.apache.lucene.document IntPoint setIntValue

List of usage examples for org.apache.lucene.document IntPoint setIntValue

Introduction

In this page you can find the example usage for org.apache.lucene.document IntPoint setIntValue.

Prototype

@Override
    public void setIntValue(int value) 

Source Link

Usage

From source file:org.apache.solr.uninverting.TestFieldCache.java

License:Apache License

public void testIntFieldCache() throws IOException {
    Directory dir = newDirectory();/*from  w ww  . j  a v a2  s  .  c o  m*/
    IndexWriterConfig cfg = newIndexWriterConfig(new MockAnalyzer(random()));
    cfg.setMergePolicy(newLogMergePolicy());
    RandomIndexWriter iw = new RandomIndexWriter(random(), dir, cfg);
    Document doc = new Document();
    IntPoint field = new IntPoint("f", 0);
    doc.add(field);
    final int[] values = new int[TestUtil.nextInt(random(), 1, 10)];
    Set<Integer> missing = new HashSet<>();
    for (int i = 0; i < values.length; ++i) {
        final int v;
        switch (random().nextInt(10)) {
        case 0:
            v = Integer.MIN_VALUE;
            break;
        case 1:
            v = 0;
            break;
        case 2:
            v = Integer.MAX_VALUE;
            break;
        default:
            v = TestUtil.nextInt(random(), -10, 10);
            break;
        }
        values[i] = v;
        if (v == 0 && random().nextBoolean()) {
            // missing
            iw.addDocument(new Document());
            missing.add(i);
        } else {
            field.setIntValue(v);
            iw.addDocument(doc);
        }
    }
    iw.forceMerge(1);
    final DirectoryReader reader = iw.getReader();
    final NumericDocValues ints = FieldCache.DEFAULT.getNumerics(getOnlyLeafReader(reader), "f",
            FieldCache.INT_POINT_PARSER);
    for (int i = 0; i < values.length; ++i) {
        if (missing.contains(i) == false) {
            assertEquals(i, ints.nextDoc());
            assertEquals(values[i], ints.longValue());
        }
    }
    assertEquals(NO_MORE_DOCS, ints.nextDoc());
    reader.close();
    iw.close();
    dir.close();
}