/// <summary> /// Returns an iterator over the children of the given ordinal. /// </summary> public virtual ChildrenIterator GetChildren(int ordinal) { ParallelTaxonomyArrays arrays = ParallelTaxonomyArrays; int child = ordinal >= 0 ? arrays.Children[ordinal] : INVALID_ORDINAL; return(new ChildrenIterator(child, arrays.Siblings)); }
/// <summary> /// Sole constructor. /// </summary> protected internal TaxonomyFacets(string indexFieldName, TaxonomyReader taxoReader, FacetsConfig config) { this.m_indexFieldName = indexFieldName; this.m_taxoReader = taxoReader; this.m_config = config; ParallelTaxonomyArrays pta = taxoReader.ParallelTaxonomyArrays; m_children = pta.Children; m_siblings = pta.Siblings; }
/// <summary> /// Sole constructor. /// </summary> protected internal TaxonomyFacets(string indexFieldName, TaxonomyReader taxoReader, FacetsConfig config) { this.IndexFieldName = indexFieldName; this.TaxoReader = taxoReader; this.Config = config; ParallelTaxonomyArrays pta = taxoReader.ParallelTaxonomyArrays; Children = pta.Children(); Siblings = pta.Siblings(); }
private void AssertChildrenArrays(ParallelTaxonomyArrays ca, int retry, int retrieval) { int abYoungChild = ca.Children()[abOrd]; Assert.True(abYoungChildBase1 == abYoungChild || abYoungChildBase2 == ca.Children()[abOrd], "Retry " + retry + ": retrieval: " + retrieval + ": wrong youngest child for category " + abPath + " (ord=" + abOrd + ") - must be either " + abYoungChildBase1 + " or " + abYoungChildBase2 + " but was: " + abYoungChild); }