Example usage for org.apache.lucene.index CodecReader getNumericDocValues

List of usage examples for org.apache.lucene.index CodecReader getNumericDocValues

Introduction

In this page you can find the example usage for org.apache.lucene.index CodecReader getNumericDocValues.

Prototype

@Override
    public final NumericDocValues getNumericDocValues(String field) throws IOException 

Source Link

Usage

From source file:org.elasticsearch.index.merge.policy.VersionFieldUpgraderTest.java

License:Apache License

/** Simple test: one doc in the old format, check that it looks correct */
public void testUpgradeOneDocument() throws Exception {
    Directory dir = newDirectory();/*from  w  w w. j a v  a 2  s  .c om*/
    IndexWriter iw = new IndexWriter(dir, new IndexWriterConfig(null));

    // add a document with a _uid having a payload of 3
    Document doc = new Document();
    Token token = new Token("1", 0, 1);
    token.setPayload(new BytesRef(Numbers.longToBytes(3)));
    doc.add(new TextField(UidFieldMapper.NAME, new CannedTokenStream(token)));
    iw.addDocument(doc);
    iw.commit();

    CodecReader reader = getOnlySegmentReader(DirectoryReader.open(iw, true));
    CodecReader upgraded = VersionFieldUpgrader.wrap(reader);
    // we need to be upgraded, should be a different instance
    assertNotSame(reader, upgraded);

    // make sure we can see our numericdocvalues in fieldinfos
    FieldInfo versionField = upgraded.getFieldInfos().fieldInfo(VersionFieldMapper.NAME);
    assertNotNull(versionField);
    assertEquals(DocValuesType.NUMERIC, versionField.getDocValuesType());
    // should have a value of 3, and be visible in docsWithField
    assertEquals(3, upgraded.getNumericDocValues(VersionFieldMapper.NAME).get(0));
    assertTrue(upgraded.getDocsWithField(VersionFieldMapper.NAME).get(0));

    // verify filterreader with checkindex
    TestUtil.checkReader(upgraded);

    reader.close();
    iw.close();
    dir.close();
}

From source file:org.elasticsearch.index.merge.policy.VersionFieldUpgraderTest.java

License:Apache License

/** Test upgrading two documents */
public void testUpgradeTwoDocuments() throws Exception {
    Directory dir = newDirectory();//from   ww  w. ja v a2  s .c  o m
    IndexWriter iw = new IndexWriter(dir, new IndexWriterConfig(null));

    // add a document with a _uid having a payload of 3
    Document doc = new Document();
    Token token = new Token("1", 0, 1);
    token.setPayload(new BytesRef(Numbers.longToBytes(3)));
    doc.add(new TextField(UidFieldMapper.NAME, new CannedTokenStream(token)));
    iw.addDocument(doc);

    doc = new Document();
    token = new Token("2", 0, 1);
    token.setPayload(new BytesRef(Numbers.longToBytes(4)));
    doc.add(new TextField(UidFieldMapper.NAME, new CannedTokenStream(token)));
    iw.addDocument(doc);

    iw.commit();

    CodecReader reader = getOnlySegmentReader(DirectoryReader.open(iw, true));
    CodecReader upgraded = VersionFieldUpgrader.wrap(reader);
    // we need to be upgraded, should be a different instance
    assertNotSame(reader, upgraded);

    // make sure we can see our numericdocvalues in fieldinfos
    FieldInfo versionField = upgraded.getFieldInfos().fieldInfo(VersionFieldMapper.NAME);
    assertNotNull(versionField);
    assertEquals(DocValuesType.NUMERIC, versionField.getDocValuesType());
    // should have a values of 3 and 4, and be visible in docsWithField
    assertEquals(3, upgraded.getNumericDocValues(VersionFieldMapper.NAME).get(0));
    assertEquals(4, upgraded.getNumericDocValues(VersionFieldMapper.NAME).get(1));
    assertTrue(upgraded.getDocsWithField(VersionFieldMapper.NAME).get(0));
    assertTrue(upgraded.getDocsWithField(VersionFieldMapper.NAME).get(1));

    // verify filterreader with checkindex
    TestUtil.checkReader(upgraded);

    reader.close();
    iw.close();
    dir.close();
}