Package org.apache.lucene.facet.encoding

Examples of org.apache.lucene.facet.encoding.IntDecoder


      offsets = new int[maxDoc + 1];
      int[] ords = new int[maxDoc]; // let's assume one ordinal per-document as an initial size

      // this aggregator is limited to Integer.MAX_VALUE total ordinals.
      int totOrds = 0;
      final IntDecoder decoder = clp.createEncoder().createMatchingDecoder();
      final IntsRef values = new IntsRef(32);
      for (int docID = 0; docID < maxDoc; docID++) {
        offsets[docID] = totOrds;
        dv.get(docID, buf);
        if (buf.length > 0) {
          // this document has facets
          decoder.decode(buf, values);
          if (totOrds + values.length >= ords.length) {
            ords = ArrayUtil.grow(ords, totOrds + values.length + 1);
          }
          for (int i = 0; i < values.length; i++) {
            ords[totOrds++] = values.ints[i];
View Full Code Here


      encodeTime += System.currentTimeMillis() - start;
    }

    IntsRef decoded = new IntsRef(values.length);
    int encodedSize = bytes.length;
    IntDecoder decoder = encoder.createMatchingDecoder();
   
    // -- Looping 100 times as a warm up --------------------------
    for (int i = 100; i != 0; --i) {
      decoder.decode(bytes, decoded);
    }
    // -----------------------------------------------------------

    long decodeTime = 0;
    for (int i = loopFactor; i > 0; --i) {
      long start = System.currentTimeMillis();
      decoder.decode(bytes, decoded);
      decodeTime += System.currentTimeMillis() - start;
    }
   
    if (decoded.length != values.length) {
      throw new RuntimeException("wrong num values. expected=" + values.length + " actual=" + decoded.length +
View Full Code Here

 
  private static void encoderTest(IntEncoder encoder, IntsRef data, IntsRef expected) throws IOException {
    // ensure toString is implemented
    String toString = encoder.toString();
    assertFalse(toString.startsWith(encoder.getClass().getName() + "@"));
    IntDecoder decoder = encoder.createMatchingDecoder();
    toString = decoder.toString();
    assertFalse(toString.startsWith(decoder.getClass().getName() + "@"));
   
    BytesRef bytes = new BytesRef(100); // some initial capacity - encoders should grow the byte[]
    IntsRef values = new IntsRef(100); // some initial capacity - decoders should grow the int[]
    for (int i = 0; i < 2; i++) {
      // run 2 iterations to catch encoders/decoders which don't reset properly
View Full Code Here

    IntEncoder enc = new VInt8IntEncoder();
    IntsRef values = new IntsRef(1);
    values.ints[values.length++] = -1;
    enc.encode(values, bytes);
   
    IntDecoder dec = enc.createMatchingDecoder();
    values.length = 0;
    dec.decode(bytes, values);
    assertEquals(1, values.length);
    assertEquals(-1, values.ints[0]);
  }
View Full Code Here

  @Test
  public void testDefaultSettings() {
    CategoryListParams clp = new CategoryListParams();
    assertEquals("wrong default field", "$facets", clp.field);
    IntEncoder encoder = new SortingIntEncoder(new UniqueValuesIntEncoder(new DGapVInt8IntEncoder()));
    IntDecoder decoder = encoder.createMatchingDecoder();
    assertEquals("unexpected default encoder", encoder.toString(), clp.createEncoder().toString());
    assertEquals("unexpected default decoder", decoder.toString(), clp.createEncoder().createMatchingDecoder().toString());
  }
View Full Code Here

    DirectoryReader indexReader = DirectoryReader.open(indexDir);
    TaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoDir);
    CategoryListIterator[] iterators = new CategoryListIterator[numDimensions];
    for (int i = 0; i < iterators.length; i++) {
      CategoryListParams clp = indexingParams.getCategoryListParams(new CategoryPath(dimensions[i]));
      IntDecoder decoder = clp.createEncoder().createMatchingDecoder();
      iterators[i] = new DocValuesCategoryListIterator(clp.field, decoder);
    }
    MultiCategoryListIterator cli = new MultiCategoryListIterator(iterators);
    for (AtomicReaderContext context : indexReader.leaves()) {
      assertTrue("failed to init multi-iterator", cli.setNextReader(context));
View Full Code Here

      offsets = new int[maxDoc + 1];
      int[] ords = new int[maxDoc]; // let's assume one ordinal per-document as an initial size

      // this aggregator is limited to Integer.MAX_VALUE total ordinals.
      int totOrds = 0;
      final IntDecoder decoder = clp.createEncoder().createMatchingDecoder();
      final IntsRef values = new IntsRef(32);
      for (int docID = 0; docID < maxDoc; docID++) {
        offsets[docID] = totOrds;
        dv.get(docID, buf);
        if (buf.length > 0) {
          // this document has facets
          decoder.decode(buf, values);
          if (totOrds + values.length >= ords.length) {
            ords = ArrayUtil.grow(ords, totOrds + values.length + 1);
          }
          for (int i = 0; i < values.length; i++) {
            ords[totOrds++] = values.ints[i];
View Full Code Here

TOP

Related Classes of org.apache.lucene.facet.encoding.IntDecoder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.