Examples of ChildrenArrays


Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    Directory indexDir = newDirectory();
    TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
    fillTaxonomy(tw);
    tw.close();
    TaxonomyReader tr = new LuceneTaxonomyReader(indexDir);
    ChildrenArrays ca = tr.getChildrenArrays();
    int[] youngestChildArray = ca.getYoungestChildArray();
    assertEquals(tr.getSize(), youngestChildArray.length);
    int[] olderSiblingArray = ca.getOlderSiblingArray();
    assertEquals(tr.getSize(), olderSiblingArray.length);
    for (int i=0; i<expectedCategories.length; i++) {
      // find expected children by looking at all expectedCategories
      // for children
      ArrayList<Integer> expectedChildren = new ArrayList<Integer>();
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    Directory indexDir = newDirectory();
    TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
    fillTaxonomy(tw);
    tw.close();
    TaxonomyReader tr = new LuceneTaxonomyReader(indexDir);
    ChildrenArrays ca = tr.getChildrenArrays();
    int[] youngestChildArray = ca.getYoungestChildArray();
    assertEquals(tr.getSize(), youngestChildArray.length);
    int[] olderSiblingArray = ca.getOlderSiblingArray();
    assertEquals(tr.getSize(), olderSiblingArray.length);
       
    // test that the "youngest child" of every category is indeed a child:
    for (int i=0; i<tr.getSize(); i++) {
      int youngestChild = youngestChildArray[i];
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    Directory indexDir = newDirectory();
    TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
    tw.addCategory(new CategoryPath("hi", "there"));
    tw.commit();
    TaxonomyReader tr = new LuceneTaxonomyReader(indexDir);
    ChildrenArrays ca = tr.getChildrenArrays();
    assertEquals(3, tr.getSize());
    assertEquals(3, ca.getOlderSiblingArray().length);
    assertEquals(3, ca.getYoungestChildArray().length);
    assertTrue(Arrays.equals(new int[] { 1, 2, -1 }, ca.getYoungestChildArray()));
    assertTrue(Arrays.equals(new int[] { -1, -1, -1 }, ca.getOlderSiblingArray()));
    tw.addCategory(new CategoryPath("hi", "ho"));
    tw.addCategory(new CategoryPath("hello"));
    tw.commit();
    // Before refresh, nothing changed..
    ChildrenArrays newca = tr.getChildrenArrays();
    assertSame(newca, ca); // we got exactly the same object
    assertEquals(3, tr.getSize());
    assertEquals(3, ca.getOlderSiblingArray().length);
    assertEquals(3, ca.getYoungestChildArray().length);
    // After the refresh, things change:
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    final CategoryPath abPath = new CategoryPath("a", "b");
    twBase.addCategory(abPath);
    twBase.commit();
    TaxonomyReader trBase = new LuceneTaxonomyReader(indexDirBase);

    final ChildrenArrays ca1 = trBase.getChildrenArrays();
   
    final int abOrd = trBase.getOrdinal(abPath);
    final int abYoungChildBase1 = ca1.getYoungestChildArray()[abOrd];
   
    for (int i=0; i < 1<<10; i++) { //1024 facets
      twBase.addCategory(new CategoryPath("a", "b", Integer.toString(i)));
    }
    twBase.commit();
   
    trBase.refresh();
   
    final ChildrenArrays ca2 = trBase.getChildrenArrays();
    final int abYoungChildBase2 = ca2.getYoungestChildArray()[abOrd];
   
    for (int retry=0; retry<100; retry++) {
      assertConsistentYoungestChild(abPath, abOrd, abYoungChildBase1,  abYoungChildBase2, retry);
    }
    indexDirBase.close();
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    if (depth > Short.MAX_VALUE - 3) {
      depth = Short.MAX_VALUE -3;
    }

    int endOffset = offset + partitionSize; // one past the largest ordinal in the partition
    ChildrenArrays childrenArray = taxonomyReader.getChildrenArrays();
    int[] youngestChild = childrenArray.getYoungestChildArray();
    int[] olderSibling = childrenArray.getOlderSiblingArray();
    int totalNumOfDescendantsConsidered = 0; // total number of facets with value != 0,
    // in the tree. These include those selected as top K in each node, and all the others that
    // were not. Not including rootNode

    // the following priority queue will be used again and again for each node recursed into
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

   */
  private int heapDescendants(int ordinal, Heap<FacetResultNode> pq,
      MutableFacetResultNode parentResultNode, FacetArrays facetArrays, int offset) {
    int partitionSize = facetArrays.getArraysLength();
    int endOffset = offset + partitionSize;
    ChildrenArrays childrenArray = taxonomyReader.getChildrenArrays();
    int[] youngestChild = childrenArray.getYoungestChildArray();
    int[] olderSibling = childrenArray.getOlderSiblingArray();
    FacetResultNode reusable = null;
    int localDepth = 0;
    int depth = facetRequest.getDepth();
    int[] ordinalStack = new int[2+Math.min(Short.MAX_VALUE, depth)];
    int childrenCounter = 0;
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    Directory indexDir = newDirectory();
    TaxonomyWriter tw = new DirectoryTaxonomyWriter(indexDir);
    fillTaxonomy(tw);
    tw.close();
    TaxonomyReader tr = new DirectoryTaxonomyReader(indexDir);
    ChildrenArrays ca = tr.getChildrenArrays();
    int[] youngestChildArray = ca.getYoungestChildArray();
    assertEquals(tr.getSize(), youngestChildArray.length);
    int[] olderSiblingArray = ca.getOlderSiblingArray();
    assertEquals(tr.getSize(), olderSiblingArray.length);
    for (int i=0; i<expectedCategories.length; i++) {
      // find expected children by looking at all expectedCategories
      // for children
      ArrayList<Integer> expectedChildren = new ArrayList<Integer>();
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    Directory indexDir = newDirectory();
    TaxonomyWriter tw = new DirectoryTaxonomyWriter(indexDir);
    fillTaxonomy(tw);
    tw.close();
    TaxonomyReader tr = new DirectoryTaxonomyReader(indexDir);
    ChildrenArrays ca = tr.getChildrenArrays();
    int[] youngestChildArray = ca.getYoungestChildArray();
    assertEquals(tr.getSize(), youngestChildArray.length);
    int[] olderSiblingArray = ca.getOlderSiblingArray();
    assertEquals(tr.getSize(), olderSiblingArray.length);
       
    // test that the "youngest child" of every category is indeed a child:
    for (int i=0; i<tr.getSize(); i++) {
      int youngestChild = youngestChildArray[i];
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    Directory indexDir = newDirectory();
    TaxonomyWriter tw = new DirectoryTaxonomyWriter(indexDir);
    tw.addCategory(new CategoryPath("hi", "there"));
    tw.commit();
    TaxonomyReader tr = new DirectoryTaxonomyReader(indexDir);
    ChildrenArrays ca = tr.getChildrenArrays();
    assertEquals(3, tr.getSize());
    assertEquals(3, ca.getOlderSiblingArray().length);
    assertEquals(3, ca.getYoungestChildArray().length);
    assertTrue(Arrays.equals(new int[] { 1, 2, -1 }, ca.getYoungestChildArray()));
    assertTrue(Arrays.equals(new int[] { -1, -1, -1 }, ca.getOlderSiblingArray()));
    tw.addCategory(new CategoryPath("hi", "ho"));
    tw.addCategory(new CategoryPath("hello"));
    tw.commit();
    // Before refresh, nothing changed..
    ChildrenArrays newca = tr.getChildrenArrays();
    assertSame(newca, ca); // we got exactly the same object
    assertEquals(3, tr.getSize());
    assertEquals(3, ca.getOlderSiblingArray().length);
    assertEquals(3, ca.getYoungestChildArray().length);
    // After the refresh, things change:
View Full Code Here

Examples of org.apache.lucene.facet.taxonomy.TaxonomyReader.ChildrenArrays

    final CategoryPath abPath = new CategoryPath("a", "b");
    twBase.addCategory(abPath);
    twBase.commit();
    TaxonomyReader trBase = new DirectoryTaxonomyReader(indexDirBase);

    final ChildrenArrays ca1 = trBase.getChildrenArrays();
   
    final int abOrd = trBase.getOrdinal(abPath);
    final int abYoungChildBase1 = ca1.getYoungestChildArray()[abOrd];
   
    for (int i=0; i < 1<<10; i++) { //1024 facets
      twBase.addCategory(new CategoryPath("a", "b", Integer.toString(i)));
    }
    twBase.commit();
   
    trBase.refresh();
   
    final ChildrenArrays ca2 = trBase.getChildrenArrays();
    final int abYoungChildBase2 = ca2.getYoungestChildArray()[abOrd];
   
    for (int retry=0; retry<100; retry++) {
      assertConsistentYoungestChild(abPath, abOrd, abYoungChildBase1,  abYoungChildBase2, retry);
    }
    indexDirBase.close();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.