List of usage examples for org.apache.lucene.facet.taxonomy DocValuesOrdinalsReader DocValuesOrdinalsReader
public DocValuesOrdinalsReader()
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); }