Lucene.Net.Facet.Taxonomy.WriterCache.CompactLabelToOrdinal.AddLabel C# (CSharp) Method

AddLabel() public method

public AddLabel ( FacetLabel label, int ordinal ) : void
label FacetLabel
ordinal int
return void
        public override void AddLabel(FacetLabel label, int ordinal)
        {
            if (collisionMap.Count > threshold)
            {
                Grow();
            }

            int hash = CompactLabelToOrdinal.StringHashCode(label);
            for (int i = 0; i < this.hashArrays.Length; i++)
            {
                if (AddLabel(this.hashArrays[i], label, hash, ordinal))
                {
                    return;
                }
            }

            int prevVal = collisionMap.AddLabel(label, hash, ordinal);
            if (prevVal != ordinal)
            {
                throw new System.ArgumentException("Label already exists: " + label + " prev ordinal " + prevVal);
            }
        }

Same methods

CompactLabelToOrdinal::AddLabel ( HashArray a, FacetLabel label, int hash, int ordinal ) : bool

Usage Example

 public virtual bool Put(FacetLabel categoryPath, int ordinal)
 {
     @lock.AcquireWriterLock(LockTimeOut);
     try
     {
         cache.AddLabel(categoryPath, ordinal);
         // Tell the caller we didn't clear part of the cache, so it doesn't
         // have to flush its on-disk index now
         return(false);
     }
     finally
     {
         @lock.ReleaseWriterLock();
     }
 }
All Usage Examples Of Lucene.Net.Facet.Taxonomy.WriterCache.CompactLabelToOrdinal::AddLabel