Example usage for org.apache.lucene.index MultiDocValues getNumericValues

List of usage examples for org.apache.lucene.index MultiDocValues getNumericValues

Introduction

In this page you can find the example usage for org.apache.lucene.index MultiDocValues getNumericValues.

Prototype

public static NumericDocValues getNumericValues(final IndexReader r, final String field) throws IOException 

Source Link

Document

Returns a NumericDocValues for a reader's docvalues (potentially merging on-the-fly)

Usage

From source file:com.github.flaxsearch.util.ReaderManager.java

License:Apache License

default NumericDocValues getNumericDocValues(Integer segment, String field) throws IOException {
    if (segment == null)
        return MultiDocValues.getNumericValues(getIndexReader(), field);
    return getLeafReader(segment).getNumericDocValues(field);
}

From source file:org.apache.solr.index.SlowCompositeReaderWrapper.java

License:Apache License

@Override
public NumericDocValues getNumericDocValues(String field) throws IOException {
    ensureOpen();
    return MultiDocValues.getNumericValues(in, field);
}

From source file:org.apache.tika.eval.tools.SlowCompositeReaderWrapper.java

License:Apache License

@Override
public NumericDocValues getNumericDocValues(String field) throws IOException {
    ensureOpen();/*from w ww  . j a  va 2s  . c  om*/
    return MultiDocValues.getNumericValues(in, field); // TODO cache?
}

From source file:perf.PrintPerFieldHeapUsage.java

License:Apache License

public static void main(String[] args) throws IOException {
    Directory dir = FSDirectory.open(Paths.get("fields"));

    int fieldUpto;
    IndexWriterConfig iwc;//from  www  .  j  a  va 2  s. c o  m
    IndexWriter w;
    long t0;
    IndexReader r;

    // Stored field:
    iwc = new IndexWriterConfig(new WhitespaceAnalyzer());
    iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
    w = new IndexWriter(dir, iwc);

    fieldUpto = 0;
    t0 = System.nanoTime();
    for (int i = 0; i < FIELD_COUNT; i++) {
        Document doc = new Document();
        doc.add(new StoredField("f" + fieldUpto, "text" + i));
        fieldUpto++;
        w.addDocument(doc);
    }

    w.forceMerge(1);
    w.close();

    r = DirectoryReader.open(dir);
    System.out.println(String.format(Locale.ROOT, "Took %.1f sec; bytes per unique StoredField: %.1f",
            (System.nanoTime() - t0) / 1000000000.0, (RamUsageTester.sizeOf(r) / (double) FIELD_COUNT)));
    r.close();

    // Indexed StringField:
    iwc = new IndexWriterConfig(new WhitespaceAnalyzer());
    iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
    w = new IndexWriter(dir, iwc);

    fieldUpto = 0;
    t0 = System.nanoTime();
    for (int i = 0; i < FIELD_COUNT; i++) {
        Document doc = new Document();
        doc.add(new StringField("f" + fieldUpto, "text" + i, Field.Store.NO));
        fieldUpto++;
        w.addDocument(doc);
    }

    w.forceMerge(1);
    w.close();

    r = DirectoryReader.open(dir);
    System.out.println(String.format(Locale.ROOT, "Took %.1f sec; bytes per unique StringField: %.1f",
            (System.nanoTime() - t0) / 1000000000.0, (RamUsageTester.sizeOf(r) / (double) FIELD_COUNT)));
    r.close();

    // Numeric DV field:
    iwc = new IndexWriterConfig(new WhitespaceAnalyzer());
    iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
    w = new IndexWriter(dir, iwc);

    fieldUpto = 0;
    t0 = System.nanoTime();
    for (int i = 0; i < FIELD_COUNT; i++) {
        Document doc = new Document();
        doc.add(new NumericDocValuesField("f" + fieldUpto, i));
        fieldUpto++;
        w.addDocument(doc);
    }

    w.forceMerge(1);
    w.close();

    r = DirectoryReader.open(dir);
    System.out.println(String.format(Locale.ROOT,
            "Took %.1f sec; bytes per unique NumericDocValuesField, latent: %.1f",
            (System.nanoTime() - t0) / 1000000000.0, (RamUsageTester.sizeOf(r) / (double) FIELD_COUNT)));
    // Now force lazy loading of all the DV fields:
    for (int i = 0; i < FIELD_COUNT; i++) {
        MultiDocValues.getNumericValues(r, "f" + i);
    }
    System.out.println(String.format(Locale.ROOT, "Bytes per unique NumericDocValuesField, loaded: %.1f",
            (RamUsageTester.sizeOf(r) / (double) FIELD_COUNT)));
    r.close();

    // Sorted DV field:
    iwc = new IndexWriterConfig(new WhitespaceAnalyzer());
    iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
    w = new IndexWriter(dir, iwc);

    fieldUpto = 0;
    t0 = System.nanoTime();
    for (int i = 0; i < FIELD_COUNT; i++) {
        Document doc = new Document();
        doc.add(new SortedDocValuesField("f" + fieldUpto, new BytesRef("text" + i)));
        fieldUpto++;
        w.addDocument(doc);
    }

    w.forceMerge(1);
    w.close();

    r = DirectoryReader.open(dir);
    System.out.println(String.format(Locale.ROOT,
            "Took %.1f sec; bytes per unique SortedDocValuesField, latent: %.1f",
            (System.nanoTime() - t0) / 1000000000.0, (RamUsageTester.sizeOf(r) / (double) FIELD_COUNT)));
    // Now force lazy loading of all the DV fields:
    for (int i = 0; i < FIELD_COUNT; i++) {
        MultiDocValues.getSortedValues(r, "f" + i);
    }
    System.out.println(String.format(Locale.ROOT, "Bytes per unique SortedDocValuesField, loaded: %.1f",
            (RamUsageTester.sizeOf(r) / (double) FIELD_COUNT)));
    r.close();

    dir.close();
}