Example usage for org.apache.lucene.facet.taxonomy DocValuesOrdinalsReader DocValuesOrdinalsReader

List of usage examples for org.apache.lucene.facet.taxonomy DocValuesOrdinalsReader DocValuesOrdinalsReader

Introduction

In this page you can find the example usage for org.apache.lucene.facet.taxonomy DocValuesOrdinalsReader DocValuesOrdinalsReader.

Prototype

public DocValuesOrdinalsReader() 

Source Link

Document

Default constructor.

Usage

From source file:org.meresco.lucene.FacetSuperCollectorTest.java

License:Open Source License

@Test
public void testEmpty() {
    FacetSuperCollector f = new FacetSuperCollector(null, new FacetsConfig(),
            new CachedOrdinalsReader(new DocValuesOrdinalsReader()));
    assertEquals(null, f.getFirstArray());
}

From source file:org.meresco.lucene.FacetSuperCollectorTest.java

License:Open Source License

@Test
public void testOneArray() {
    FacetSuperCollector f = new FacetSuperCollector(null, new FacetsConfig(),
            new CachedOrdinalsReader(new DocValuesOrdinalsReader()));
    f.mergePool(new int[] { 0, 1, 2, 3, 4 });
    assertArrayEquals(new int[] { 0, 1, 2, 3, 4 }, f.getFirstArray());
}

From source file:org.meresco.lucene.FacetSuperCollectorTest.java

License:Open Source License

@Test
public void testMergeTwoArray() {
    FacetSuperCollector f = new FacetSuperCollector(null, new FacetsConfig(),
            new CachedOrdinalsReader(new DocValuesOrdinalsReader()));
    f.mergePool(new int[] { 0, 1, 2, 3, 4 });
    f.mergePool(new int[] { 0, 0, 1, 1, 1 });
    assertArrayEquals(new int[] { 0, 1, 3, 4, 5 }, f.getFirstArray());
}

From source file:org.meresco.lucene.Lucene.java

License:Open Source License

private OrdinalsReader getOrdinalsReader(String indexFieldname) {
    CachedOrdinalsReader reader = cachedOrdinalsReader.get(indexFieldname);
    if (reader == null) {
        DocValuesOrdinalsReader docValuesReader = indexFieldname == null ? new DocValuesOrdinalsReader()
                : new DocValuesOrdinalsReader(indexFieldname);
        reader = new CachedOrdinalsReader(docValuesReader);
        cachedOrdinalsReader.put(indexFieldname, reader);
    }/* w  w w. j av  a 2  s  . c o m*/
    return reader;
}

From source file:org.meresco.lucene.SuperCollectorTest.java

License:Open Source License

@Test
public void testFacetSuperCollector() throws Throwable {
    Lucene I = new Lucene(this.tmpDir, new LuceneSettings());
    for (int i = 0; i < 1000; i++) {
        Map<String, String> fields = new HashMap<String, String>();
        fields.put("field1", Integer.toString(i));
        fields.put("field2", new String(new char[1000]).replace("\0", Integer.toString(i)));
        Map<String, String> facets = new HashMap<String, String>();
        facets.put("facet1", "value" + (i % 100));
        Document document1 = createDocument(fields, facets);
        I.addDocument("id" + i, document1);
    }//from w  w w. j a v a  2  s .  c  om
    I.close();
    I = new Lucene(this.tmpDir, new LuceneSettings());
    FacetSuperCollector C = new FacetSuperCollector(I.data.getManager().acquire().taxonomyReader,
            I.data.getFacetsConfig(), new DocValuesOrdinalsReader());
    MatchAllDocsQuery Q = new MatchAllDocsQuery();
    I.search(Q, null, C);
    FacetResult tc = C.getTopChildren(10, "facet1");
    LabelAndValue[] expected = new LabelAndValue[] { new LabelAndValue("value90", 10),
            new LabelAndValue("value91", 10), new LabelAndValue("value92", 10),
            new LabelAndValue("value93", 10), new LabelAndValue("value94", 10),
            new LabelAndValue("value95", 10), new LabelAndValue("value96", 10),
            new LabelAndValue("value97", 10), new LabelAndValue("value98", 10),
            new LabelAndValue("value99", 10) };
    assertArrayEquals(expected, tc.labelValues);
}

From source file:org.meresco.lucene.SuperCollectorTest.java

License:Open Source License

@Test
public void testFacetAndTopsMultiCollector() throws Throwable {
    Lucene I = new Lucene(this.tmpDir, new LuceneSettings());
    for (int i = 0; i < 99; i++) {
        Map<String, String> fields = new HashMap<String, String>();
        fields.put("field1", Integer.toString(i));
        fields.put("field2", new String(new char[1000]).replace("\0", Integer.toString(i)));
        Map<String, String> facets = new HashMap<String, String>();
        facets.put("facet1", "value" + (i % 10));
        Document document1 = createDocument(fields, facets);
        I.addDocument("id" + i, document1);
    }//  w w  w .  ja v  a  2  s . c  o  m
    I.maybeCommitAfterUpdate();
    I.close();
    I = new Lucene(this.tmpDir, new LuceneSettings());

    FacetSuperCollector f = new FacetSuperCollector(I.data.getManager().acquire().taxonomyReader,
            I.data.getFacetsConfig(), new DocValuesOrdinalsReader());
    TopScoreDocSuperCollector t = new TopScoreDocSuperCollector(10, true);
    List<SuperCollector<?>> collectors = new ArrayList<SuperCollector<?>>();
    collectors.add(t);
    collectors.add(f);
    MultiSuperCollector C = new MultiSuperCollector(collectors);
    MatchAllDocsQuery Q = new MatchAllDocsQuery();
    I.search(Q, null, C);

    assertEquals(99, t.topDocs(0).totalHits);
    assertEquals(10, t.topDocs(0).scoreDocs.length);
    FacetResult tc = f.getTopChildren(10, "facet1");

    LabelAndValue[] expected = new LabelAndValue[] { new LabelAndValue("value0", 10),
            new LabelAndValue("value1", 10), new LabelAndValue("value2", 10), new LabelAndValue("value3", 10),
            new LabelAndValue("value4", 10), new LabelAndValue("value5", 10), new LabelAndValue("value6", 10),
            new LabelAndValue("value7", 10), new LabelAndValue("value8", 10), new LabelAndValue("value9", 9) };
    assertArrayEquals(expected, tc.labelValues);
}